1
0
Fork
You've already forked sciop
0
forked from Safeguarding/sciop
collecting at-risk data in torrent rss feeds
  • Python 80.2%
  • HTML 11%
  • CSS 6.8%
  • JavaScript 1.6%
  • Jinja 0.3%
sneakers-the-rat d60678ae2b Merge pull request 'Fix: readme edits' ( #453 ) from lwasser/sciop:fix-readme into main
Reviewed-on: Safeguarding/sciop#453
Reviewed-by: sneakers-the-rat <sneakers-the-rat@noreply.codeberg.org>
2025年07月29日 06:55:44 +02:00
.forgejo separate docs tests and dependencies 2025年06月13日 22:11:37 -07:00
docs make docs building optional, display optional, build docs in a thread, build docs only once 2025年06月13日 20:46:49 -07:00
scripts fix datetime handling when last seen at is present, make utcdatetime type 2025年03月19日 02:46:59 -07:00
src/sciop on second thought, model-level filtering is not that expensive 2025年07月28日 00:16:34 -07:00
tests use bencode_rs instead of three separate libs 2025年07月28日 00:12:39 -07:00
.env.sample config cli 2025年04月30日 19:09:00 -07:00
.gitignore get_config and autoloading 2025年05月22日 01:23:55 -07:00
changelog.md refactor config into sub-models 2025年05月21日 22:15:05 -07:00
LICENSE Initial commit 2025年02月02日 01:27:17 +00:00
mkdocs.yml add DatasetClaim to docs, add some didactic docstrings 2025年06月02日 21:56:03 -07:00
pdm.lock use bencode_rs instead of three separate libs 2025年07月28日 00:12:39 -07:00
pyproject.toml use bencode_rs instead of three separate libs 2025年07月28日 00:12:39 -07:00
README.md Fix: readme edits 2025年07月28日 19:00:56 -06:00
sciop.sample.yaml complete sentence 2025年04月30日 19:09:04 -07:00

SciOp

[ docs ] [ source ]

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.

Running a SciOp Instance

Please see full instructions in the contributing docs

Installing

First, make sure that you have Python installed. Sciop requires Python version >= 3.11.

Then, clone the repository. If you plan to work on sciop, please consider creating a fork and cloning your fork:

git clone https://codeberg.org/Safeguarding/sciop
cd sciop

With pip

Make a Python virtual environment and activate it:

python -m venv ~/.envs/sciop
. ~/.envs/sciop/bin/activate

The example above created a venv in your home directory.

Install sciop in editable mode and it's dependencies into your virtual environment:

pip install -e .

Note: sciop is available on PyPI. However, while we are in beta development, we do not regularly deploy versions there. Installing from this repository is strongly recommended.

python -m pip install sciop

With PDM

Install dependencies, automatically creating a virtual environment by default

pdm install

Configuration

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 of dev, test or prod. One should only make a sciop instance publicly available in prod mode. dev mode is for local development purposes, as is test. You must ensure that you do not re-use the same db between a dev/test and prod instance, e.g. if the SCIOP_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 with openssl rand -hex 32.

When generated from the cli, env is set to dev, and secret_key is automatically generated.

Run the dev sever

# see available CLI commands
# sciop --help
sciop start

License

EUPL v1.2

Vendored Software

This project includes the following vendored software: