Skip to content

Commit

Permalink
chore(doc): the more complete readme is in python (#1709)
Browse files Browse the repository at this point in the history
<!--
**Thanks for contributing to Fury.**

**If this is your first time opening a PR on fury, you can refer to
[CONTRIBUTING.md](https://github.com/apache/fury/blob/main/CONTRIBUTING.md).**

Contribution Checklist

- The **Apache Fury (incubating)** community has restrictions on the
naming of pr titles. You can also find instructions in
[CONTRIBUTING.md](https://github.com/apache/fury/blob/main/CONTRIBUTING.md).

- Fury has a strong focus on performance. If the PR you submit will have
an impact on performance, please benchmark it first and provide the
benchmark result here.
-->

## What does this PR do?
Improve documentation

In the java/rust/JavaScript readme, there is a fairly complete
development documentation.
but in python it is empty. 
I thought it could be filled in and completed.
<!-- Describe the purpose of this PR. -->


## Related issues

<!--
Is there any related issue? Please attach here.

- #xxxx0
- #xxxx1
- #xxxx2
-->


## Does this PR introduce any user-facing change?

<!--
If any user-facing interface changes, please [open an
issue](https://github.com/apache/fury/issues/new/choose) describing the
need to do so and update the document if necessary.
-->

- [ ] Does this PR introduce any public API change?
- [ ] Does this PR introduce any binary protocol compatibility change?


## Benchmark

<!--
When the PR has an impact on performance (if you don't know whether the
PR will have an impact on performance, you can submit the PR first, and
if it will have impact on performance, the code reviewer will explain
it), be sure to attach a benchmark data here.
-->
  • Loading branch information
pandalee99 authored Jun 29, 2024
1 parent 09fda94 commit d4641b3
Showing 1 changed file with 50 additions and 0 deletions.
50 changes: 50 additions & 0 deletions python/README.md
Original file line number Diff line number Diff line change
@@ -1 +1,51 @@
# Apache Fury™ Python

Fury is a blazingly-fast multi-language serialization framework powered by just-in-time compilation and zero-copy.

## Build Fury Python

```bash
cd python
pip install pyarrow==14.0.0 Cython wheel numpy pytest
pip install -v -e .
```

### Environment Requirements

- python 3.6+

## Testing

```bash
cd python
pytest -v -s .
```

## Code Style

```bash
cd python
# install dependencies fro styling
pip install black==22.1.0 flake8==3.9.1 flake8-quotes flake8-bugbear click==8.0.2
# flake8 pyfury: prompts for code to be formatted, but not formatted
flake8 pyfury
# black pyfury: format python code
black pyfury
```

## Debug

```bash
cd python
python setup.py develop
```

* Use `cython --cplus -a pyfury/_serialization.pyx` to produce an annotated HTML file of the source code. Then you can
analyze interaction between Python objects and Python's C API.
* Read more: https://cython.readthedocs.io/en/latest/src/userguide/debugging.html

```bash
FURY_DEBUG=true python setup.py build_ext --inplace
# For linux
cygdb build
```

0 comments on commit d4641b3

Please sign in to comment.