/pepy

pepy is a site to get statistics information about any Python package.

Primary LanguagePythonMIT LicenseMIT

pepy-logo

Build status

pepy

📜 About

pepy.tech is a site which aim is to show statistics information about the Python packages.

⚒️ Start contributing

I wanted to make the setup of the environment as easy as possible. To start the environment you will need to have the following prerequisites:

Prerequisites

  • bash (+4.3)
  • docker (+17.05)
  • docker-compose (+1.16.1)
  • docker-py (+2.2.1)
  • ansible (+2.3)

Start environment

You only (fingers crossed) need to execute the following to start the environment:

make start-containers

Architecture and patterns

Principally I used some of DDD concepts (like value objects, entities, and so on) and also CQS which objective is to separate commands from queries.

The structure of the code is the following:

  • pepy/application: here is where all the commands and the queries are located.
  • pepy/domain: domain objects like entities, exceptions, and value objects.
  • pepy/infrastructure: infrastructure components like the implementation of the repository class like db or BigQuery, the Flask web application, the container, and so on.
    • pepy/infrastructure/cli: the command line programs
    • pepy/infrastructure/container: config files and the dependency injection manager.
    • pepy/infrastructure/web: the Flask application with all the routes.

🚩 License

The code is available under the MIT license.