Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Open more actions menu

Repository files navigation

pepy-logo

PePy

Important:
This repository contains the legacy public version of PePy. The latest version is now maintained privately. We continue to use this repository solely to track issues and preserve historical references.

📜 About

PePy is a website that provides statistics about Python packages. This repo houses the backend service for PePy.

💖 Sponsors

Our website stays alive thanks to your support and the continued help from our sponsors.

DigitalOcean Referral Badge

User avatar: Samuel ColvinUser avatar: Seth Michael LarsonUser avatar: Guardrails AI

⚒️ Start contributing

I wanted to make the setup of the environment as easy as possible. To start the environment you need 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 DDD concepts (like value objects, entities, and so on) and also CQS whose 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/api: the api endpoints controller.

FAQ

Where the downloads come from?

The data is retrieved from the official BigQuery repository: https://packaging.python.org/guides/analyzing-pypi-package-downloads/

When the data is updated?

There is a cron that runs every day at 5 pm UTC that retrieves all the new downloads from the previous day.

🚩 License

The code is available under the MIT license.

About

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

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.