Giter VIP home page Giter VIP logo

pub-sub's Introduction

Pub-Sub

codecov Code style: black CI

Project pub-sub test with upciti

Requirements

Lefthook

Lefthook is mandatory, that' a tool which run predefined scripts on git hooks. We're using it to ensure that what you push respects our quality rules.

First of all, you'll have to install it globally

npm install @arkweid/lefthook --global

Then, you'll have to run it locally. This step will tell Lefthook to install custom hooks in your local .git directory

npx @arkweid/lefthook install pre-push

Voilà, Lefthook is working and will run scripts defined in lefthook.yml file on push event.

Want to run it manually? No problem you can do that by running

npx @arkweid/lefthook run pre-push

Docker

You must have docker and docker compose installed on your computer for the containers to work. Please refer to their documentation for installation.

Pyenv

I suggest using pyenv to manage your python versions.

Poetry

This project uses poetry for dependency management you will need it to install the project and its dependencies.

Setup

  1. Clone the project
  2. Activate python 3.9.4 with pyenv local 3.9.4
  3. Install dependencies with poetry install
  4. Activate the venv with poetry shell
  5. Use the project with either python src/upciti/main.py or invoke run for the container version

If you need to find the available commands for you, you can use: invoke --list. For specific help, please use: invoke cmd --help.

To go further

  1. Improve the first implementation of the pub sub.
  2. Use redis with compose to have multiple workers as well as processes to exchange data between themselves.
  3. Publish a python package to install the wheel in the docker image rather than what is currently used.
  4. Remove factory-boy from the production code to fix the production image. This would mean another service or image would send the information for instance via http or redis.
  5. Use click or similar to create a real cli.

pub-sub's People

Contributors

ouradze avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.