Files
ggwave/bindings/python/README.md
Georgi Gerganov 2ed431fa81 Add python bindings + package (#10)
* wip : python package

* wip : minor fixes

* wip : upload package to main pypi

* wip : initial text encoding

* wip : extending C api

* wip : use map of global instances

* wip : added decode functionality

* update main README
2021-01-17 17:36:50 +02:00

35 lines
1.9 KiB
Markdown

# ggwave python package
This README contains only development information, you can check out full README (README.rst) for the latest version of ggwave python package on [ggwave's PyPI page](https://pypi.org/project/ggwave/).
README.rst is not commited to git because it is generated from [README-tmpl.rst](./README-tmpl.rst).
## Building
Run `make build` to generate an extension module as .so file.
You can test it then by importing it from python interpreter `import ggwave` and running `ggwave.testC(...)` (you have to be positioned in the directory where .so was built).
This is useful for testing while developing.
Run `make sdist` to create a source distribution, but not publish it - it is a tarball in dist/ that will be uploaded to pip on `publish`.
Use this to check that tarball is well structured and contains all needed files, before you publish.
Good way to test it is to run `sudo pip install dist/ggwave-*.tar.gz`, which will try to install ggwave from it, same way as pip will do it when it is published.
`make clean` removes all generated files.
README.rst is auto-generated from [README-tmpl.rst](./README-tmpl.rst), to run regeneration do `make README.rst`.
README.rst is also automatically regenerated when building package (e.g. `make build`).
This enables us to always have up to date results of code execution and help documentation of ggwave methods in readme.
## Publishing
Remember to update version in setup.py before publishing.
To trigger automatic publish to PyPI, create a tag and push it to Github -> Travis will create sdist, build wheels, and push them all to PyPI while publishing new version.
You can also publish new version manually if needed: run `make publish` to create a source distribution and publish it to the PyPI.
## Acknowledgments
These Python bindings are generated by following [edlib](https://github.com/Martinsos/edlib) example