# Hydrilla (Python implementation) This is the repository of Python incarnation of [Hydrilla](https://hydrillabugs.koszko.org/projects/hydrilla/wiki/Wiki), a repository software to serve [Haketilo](https://hydrillabugs.koszko.org/projects/haketilo/wiki) packages. ## Dependencies ### Runtime * Python3 * [hydrilla.builder](https://git.koszko.org/hydrilla-builder/) * flask * click * jsonschema ### Build * setuptools * wheel * setuptools_scm * babel ### Test * pytest ## Building We're using setuptools. You can build a wheel under `dist/` with ``` shell python3 -m build ``` Optionally, add a `--no-isolation` option to the second command to have it use system packages where possible instead of downloading all dependencies from PyPI. *TODO: describe freedom considerations with PyPI...* The generated .whl file can then be used to install Hydrilla either globally or in the current Python virtualenv: ```shell python3 -m pip install dist/put_the_name_of_generated_file_here.whl ``` ## Testing For tests to pass you need compiled message catalogs to be present. If you've performed the build at least once, they're already there. Otherwise, you need to run `./setup.py compile_catalog`. Then you can run the actual tests: ``` shell python3 -m pytest ``` ## Debian package *TODO* ## Running ### Hydrilla command Hydrilla includes a `hydrilla` command that can be used to quickly and easily spawn a local instance, e.g.: ``` hydrilla -m /path/to/where/package/files/to/serve/are/stored -p 10112 ``` This will cause the resources from provided path to be served at [http://127.0.0.1:10112/](http://127.0.0.1:10112/). The actual packages to serve are made using [Hydrilla builder](https://git.koszko.org/hydrilla-builder/). *TODO...* ## Copying Hydrilla is Copyright (C) 2021-2022 Wojtek Kosior and contributors, entirely available under the GNU Affero General Public License version 3 or later. Some files might also give you broader permissions, see comments inside them. *I, Wojtek Kosior, thereby promise not to sue for violation of this project's license. Although I request that you do not make use this code in a proprietary program, I am not going to enforce this in court.* ## Contributing Please visit our Redmine instance at https://hydrillabugs.koszko.org. You can also write an email to koszko@koszko.org.