Skip to content

megvii-research/juicefs-python

Repository files navigation

JuiceFS Python SDK

Build Documents Code Coverage Latest version Support python versions License

What is this ?

JuiceFS is a high-performance POSIX file system released under GNU Affero General Public License v3.0.

juicefs-python is JuiceFS Python SDK, provides a majority of APIs in os module, complete APIs of io.FileIO and io.open(), based on JuiceFS APIs.

juicefs-python works on Linux, macOS and Windows, you can install it via PyPI, where the wheel package also includes libjfs.so.

Installation

PyPI

Use pip install JuiceFS Python SDK package:

pip install juicefs

Build from Source

Clone the repository:

git clone [email protected]:megvii-research/juicefs-python.git

And then build juicefs and libjfs.so and install requirements:

cd juicefs-python
make build_juicefs
pip install -r requirements.txt

If you want to develop based on JuiceFS Python SDK package, you may want to pip install -r requirements-dev.txt.

How to Contribute

  • You can help to improve juicefs-python in many ways:
    • Write code.
    • Improve documentation.
    • Report or investigate bugs and issues.
    • Review pull requests.
    • Star juicefs-python repo.
    • Recommend juicefs-python to your friends.
    • Any other form of contribution is welcomed.
  • We are happy to see your contribution to juicefs-python. Before contributing to this project, you should follow these rules:
    • Code format: Use make format to format the code before pushing your code to repository.
    • Test:pytest is used to test the code in this project. You should use make test to do the test the code. This should be done before pushing your code, asuring bug-free code based on complete tests.
    • Static check:We use pytype to do the static check. make static_check can help finish static check.
    • Others: You can get more details in Makefile at the root path.

Resources

License

juicefs-python is open-sourced under GNU AGPL v3.0, see LICENSE.