Skip to content

asozialesnetzwerk/an-website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Webseite des AN

License Python Implementation PyPI
Style: Black Imports: isort Coverage Total lines
Downloads Downloads Downloads
Check Deploy Release

Large Language Models

Do not submit any code or prose written or modified by large language models or "artificial intelligence" such as GitHub Copilot or ChatGPT to this project. These tools produce code that looks plausible, which means that not only is it likely to contain bugs those bugs are likely to be difficult to notice on review. In addition, because these models were trained indiscriminately and non-consensually on open-source code with a variety of licenses, it's not obvious that we have the moral or legal right to redistribute code they generate.

How to develop

You need:

  • Git (obviously)
  • CPython 3.12+
  • Packages from pip-dev-requirements.txt
  • C and C++ compiler for some of the dependencies
  • Depending on the used version of CPython: Rust
  • For formatting TypeScript and Markdown: dprint
  • For building JavaScript and CSS: Deno
    (./deno upgrade --output ~/.local/bin/deno)
  • For linting TypeScript: Node.js and pnpm
    (corepack enable or alias pnpm="corepack pnpm")

How to check

  • ./check.sh

How to run

  • python -Xdev -Xwarn_default_encoding -m an_website

(-Xdev enables development mode)

How to run (production)

Linux

You need:

  • CPython 3.12+
  • C and C++ compiler for some of the dependencies
  • Depending on the used version of CPython: Rust
  • Supervisord
  • Redis 6.2
  • redis-cell (for ratelimits)
  • Elasticsearch 8.12+
  • UwUFetch

How:

  • Create a virtual environment
  • Install an-website in the venv (pip install an-website)
  • create a config.ini and configure it
  • run it (an-website / python -m an_website) with Supervisord

FreeBSD

Should work similar to Linux.

macOS

Not supported, but should work.

Windows

Not supported, but maybe works.