summaryrefslogtreecommitdiff
path: root/README.md
blob: f7ca8f8a6f1bfd213488bf2b3c93cba640b366b4 (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.