an-website

#1 Website in the Worlds


Keywords
hacktoberfest, python, tornado
License
Other
Install
pip install an-website==22.4.15

Documentation

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
  • Just
  • For formatting TypeScript and Markdown: dprint
  • For building JavaScript and CSS: Deno
    (just build)
  • 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 --redis-enabled=1 --ratelimits=0 --port=8080

(-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.