This software provides a general data and software repository system that attempts to promote active re-use of data and software by providing a rock-solid foundation of implementations of protocols and standards related to its aims.
For security-related matters, please e-mail security@seshat.software. If you are (going to be) running an instance of this project and would like to be part of the security mailing list, then please write the mailing list.
This project uses the GNU autotools build system.
For development on GNU/Linux we recommend installing git, autoconf,
automake, make and typst through your system's package manager, followed
by creating a Python virtual environment for seshat:
git clone https://codeberg.org/seshat/seshat.git && cd seshat/
autoreconf -if && ./configure
python -m venv ../seshat-env
. ../seshat-env/bin/activate
pip install --upgrade pip
pip install --editable .Because the virtual environment isn't updated by your system's package manager, you can use the following snippet to update packages inside your virtual environment:
pip freeze | grep -v "seshat.git" | cut -d= -f1 | xargs -n1 pip install -UFor development on Apple's macOS X, we recommend installing python3, git,
autoconf, automake, and make through homebrew,
followed by creating a Python virtual environment for seshat:
brew install python3 git autoconf automake make typst
git clone https://codeberg.org/seshat/seshat.git && cd seshat/
autoreconf -if && ./configure
python3 -m venv ../seshat-env
. ../seshat-env/bin/activate
pip install --upgrade pip
pip install --editable .Because the virtual environment isn't updated by homebrew, you can use the following snippet to update packages inside your virtual environment:
pip freeze | grep -v "seshat.git" | cut -d= -f1 | xargs -n1 pip install -UFor development on Windows we recommend MSYS2 and the following approach to installing packages:
PRE="mingw-w64-ucrt-x86_64-" # See https://www.msys2.org/docs/package-naming
pacman -Suy auto{conf,make} make ${PRE}{git,typst,python,python-setuptools} \
${PRE}python-{defusedxml,jinja,pillow,pygit2,rdflib,requests,werkzeug,pip}
# If you chose a different PRE above, change /ucrt64 accordingly below.
# See: https://www.msys2.org/docs/environments
export PATH="/ucrt64/bin":"${PATH}"
git clone https://codeberg.org/seshat/seshat.git && cd seshat/
python -m venv --system-site-packages ../seshat-env
. ../seshat-env/bin/activate
autoreconf -if && ./configure
pip install --editable .The dependencies for seshat are installed via pacman, so to update those
packages use the following snippet:
pacman -SuySee Updating MSYS2 for more details.
Upon completing the installation, you should be able to run:
seshat --helpSeshat needs a SPARQL 1.1 endpoint such as Virtuoso OSE or Jena Fuseki to store its state.
To start the web service, we recommend copying the example configuration and go from there:
cp etc/seshat.xml seshat.xmlUpon first run, seshat needs to initialize the database with categories,
licences and accounts. To do so, pass the --initialize option to the
seshat web command:
seshat web --initialize --config-file seshat.xmlAfter the database has been initialized, you can remove the --initialize
option:
seshat web --config-file=seshat.xml