From 1206fbef3dac48d74a40e7285b8b66d4967ea355 Mon Sep 17 00:00:00 2001 From: pacrob <5199899+pacrob@users.noreply.github.com> Date: Mon, 8 Apr 2024 08:49:20 -0600 Subject: [PATCH] moving contributing info from README to Contributing docs --- README.md | 32 ---------------------------- docs/contributing.rst | 49 ++++++++++++++++++++++++++++++++++++++++++- docs/index.rst | 2 +- docs/introduction.rst | 5 +++-- 4 files changed, 52 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index 29ece8fc..f4f4b98d 100644 --- a/README.md +++ b/README.md @@ -22,42 +22,10 @@ The Python implementation of the libp2p networking stack Read more in the [documentation on ReadTheDocs](https://py-libp2p.readthedocs.io/). [View the release notes](https://py-libp2p.readthedocs.io/en/latest/release_notes.html). -## Sponsorship - -This project is graciously sponsored by the Ethereum Foundation through [Wave 5 of their Grants Program](https://blog.ethereum.org/2019/02/21/ethereum-foundation-grants-program-wave-5/). - ## Maintainers Currently maintained by [@pacrob](https://github.com/pacrob) and [@dhuseby](https://github.com/dhuseby), looking for assistance! -The py-libp2p team previously consisted of: - -[@zixuanzh](https://github.com/zixuanzh) [@alexh](https://github.com/alexh) [@stuckinaboot](https://github.com/stuckinaboot) [@robzajac](https://github.com/robzajac) [@carver](https://github.com/carver) - -## Development - -py-libp2p requires Python 3.8+ and the best way to guarantee a clean Python environment is with [`virtualenv`](https://virtualenv.pypa.io/en/stable/) - -```sh -git clone git@github.com:libp2p/py-libp2p.git -cd py-libp2p -virtualenv -p python venv -. venv/bin/activate -python -m pip install -e .[dev] -pre-commit install -``` - -Or if you use zsh, you will need to escape the `[` and `]` when running the the `pip install` command; like so: - -```zsh -python -m pip install -e .\[dev\] -``` - -We use [pre-commit](https://pre-commit.com/) to maintain consistent code style. Once -installed, it will run automatically with every commit. You can also run it manually -with `make lint`. If you need to make a commit that skips the `pre-commit` checks, you -can do so with `git commit --no-verify`. - Note that tests/test_libp2p/test_libp2p.py contains an end-to-end messaging test between two libp2p hosts, which is the bulk of our proof of concept. ### Dependencies diff --git a/docs/contributing.rst b/docs/contributing.rst index 9145d5fd..4d975046 100644 --- a/docs/contributing.rst +++ b/docs/contributing.rst @@ -1,4 +1,51 @@ Contributing ============ -TODO - instructions for contributing +Development +----------- + +py-libp2p requires Python 3.8+. + +To get started, fork the repository to your own github account, then clone it to your +development machine: + +```sh +git clone git@github.com:/py-libp2p.git +``` + +then install the development dependencies. We recommend using a virtual environment, +such as [`virtualenv`](https://virtualenv.pypa.io/en/stable/) + +```sh +cd py-libp2p +virtualenv -p python venv +. venv/bin/activate +python -m pip install -e ".[dev]" +pre-commit install +``` + +We use [pre-commit](https://pre-commit.com/) to maintain consistent code style. Once +installed, it will run automatically with every commit. You can also run it manually +with `make lint`. If you need to make a commit that skips the `pre-commit` checks, you +can do so with `git commit --no-verify`. + +Testing +------- + +You can run the tests with `make test` or `pytest tests`. This will run the unit tests + + + + +History +------- + +Prior to 2023, this project is graciously sponsored by the Ethereum Foundation through +[Wave 5 of their Grants Program](https://blog.ethereum.org/2019/02/21/ethereum-foundation-grants-program-wave-5/). + +The creators and original maintainers of this project are: +* [@zixuanzh](https://github.com/zixuanzh) +* [@alexh](https://github.com/alexh) +* [@stuckinaboot](https://github.com/stuckinaboot) +* [@robzajac](https://github.com/robzajac) +* [@carver](https://github.com/carver) diff --git a/docs/index.rst b/docs/index.rst index f2f552e7..57154cbb 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -19,7 +19,7 @@ Contents :maxdepth: 1 :caption: py-libp2p - examples + Examples API .. toctree:: diff --git a/docs/introduction.rst b/docs/introduction.rst index eb0a2042..c8fa855d 100644 --- a/docs/introduction.rst +++ b/docs/introduction.rst @@ -4,8 +4,9 @@ Introduction py-libp2p is the Python implementation of the libp2p networking stack. It hopes to someday be fully compatible with other implementations of libp2p. -This project is still in its early stages, and is not yet ready for production use. +This project is still in its early stages and is not yet ready for production use. Further Reading --------------- -`libp2p main site `_ +* `libp2p main site `_ +* `Tutorial: Introduction to libp2p `_