As a website and group of people: A distributed archive curated by distributed archivists preserving public information to plug the memoryhole.
As software: An experimental (soon to be) federated bittorrent tracker.
Please see full instructions in the contributing docs
Clone the repository:
git clone https://codeberg.org/Safeguarding/sciop
cd sciop
Make a python virtual environment and activate it:
python -m venv ~/.envs/sciop
. ~/.envs/sciop/bin/activate
Install dependencies and then sciop itself in-place as an editable requirement:
pip install -e .
sciop
is also available on PyPI,
though while we are in beta we do not regularly deploy versions there,
so installing from the repository is strongly recommended.
python -m pip install sciop
Install dependencies, automatically creating a virtual environment by default
pdm install
All of the following commands can be run either with a venv or pdm install,
though only the venv version is shown.
For PDM installs, just prepend pdm run
like pdm run sciop start
Create a default configuration:
# to see all config commands,
# sciop config --help
sciop config copy
Two fields must be set:
SCIOP_ENV
/env
: one ofdev
,test
orprod
. One should only make a sciop instance publicly available inprod
mode.dev
mode is for local development purposes, as istest
. You must ensure that you do not re-use the same db between adev
/test
andprod
instance, e.g. if theSCIOP_DB
location is explicitly set to something other than the defaults.SCIOP_SECRET_KEY
/secret_key
: must be a securely-generated random hex value. A key can be generated withopenssl rand -hex 32
.
When generated from the cli, env
is set to dev
,
and secret_key
is automatically generated.
# see available CLI commands
# sciop --help
sciop start
This project includes the following vendored software:
- htmx - Zero-Clause BSD
- form-json - GPL 3.0
- fastapi_rss - MIT