blob: f7ca8f8a6f1bfd213488bf2b3c93cba640b366b4 (
about) (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
# 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.
|