Giter Site home page Giter Site logo

homeserverorg / matrix-pypi Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 21 KB

A distributed PyPI Index powered by Matrix and IPFS

License: GNU Affero General Public License v3.0

Shell 1.14% Python 98.86%
asyncio fastapi homeserver ipfs matrix-org matrix-protocol pypi pypi-mirror pypi-server python3

matrix-pypi's Introduction

Matrix-PyPI: Overview

Matrix-PyPI is a distributed caching proxy Python Package Index (PyPI) that leverages Matrix as a distributed trust layer and IPFS as a distributed data store.

Usage Example

Matrix-PyPI operates as a transparent proxy for installing Python packages with pip. Specifying a local Matrix-PyPI proxy as your package index lets you pull packages as you normally would, with the added efficiency and reliability of a caching proxy.

# Launch the matrix-pypi docker container
docker run -p 8080:8080 matrixpypi/matrixpypi:latest

# Use Matrix-PyPI as your package index
pip install --index-url=http://localhost:8080/simple/ some-package

Enhanced Package Delivery

Matrix facilitates package integrity verification. For every package, a dedicated Matrix room exists where maintainers and trusted mirrors publish package attestations and verify package authenticity. When a user requests a package, the system checks the local cache or the distributed IPFS network. If unavailable, the system retrieves the package from PyPI, stores it locally and on IPFS, and serves it to the user.

Trust Verification and Security

Before serving a cached package, the system checks the package's attestation in the corresponding Matrix room. If the attestation matches the known metadata, the package is delivered. This process ensures the integrity of the package in a distributed setting. Mechanisms are in place to identify and remove fraudulent attestations, provided there's at least one honest participant in a Matrix room.

Flexibility and Adaptability

Matrix-PyPI provides a modular API for implementing storage backends, enabling users to implement their own solutions. A default IPFS implementation is provided.

In essence, Matrix-PyPI offers an efficient, secure, and user-friendly approach to Python package management. Its resilient architecture leverages the benefits of Matrix and IPFS to improve the Python package distribution ecosystem.

matrix-pypi's People

Contributors

thebalaa 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.