Skip to content

PythonFreeCourse/calendar

Repository files navigation

PyLander

License Apache-2.0 icon

👋 Welcome to Open Source Calendar built with Python. 🐍

Project's objectives

  1. Develop open source calendar tool using new technics while trying new things.
  2. Using Python as main programming language and plain HTML/JS for GUI.
  3. Create bonding in our community.

Creating development environment

Prerequisites

  1. Windows or Linux based system - either WSL on windows or full blown linux.
  2. Python
  3. Install python's requirements:
pip install -r requirements.txt
  1. Install pre-commit hooks:
pre-commit install

Running on Windows

virtualenv env
.\env\Scripts\activate.bat
pip install -r requirements.txt
# Copy app\config.py.example to app\config.py.
# Edit the variables' values.
# Rendering JWT_KEY:
python -c "import secrets; from pathlib import Path; f = Path('app/config.py'); f.write_text(f.read_text().replace('JWT_KEY_PLACEHOLDER', secrets.token_hex(32), 1));"
uvicorn app.main:app --reload

Running on Linux

python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp app/config.py.example app/config.py
# Edit the variables' values.
# Rendering JWT_KEY:
python -c "import secrets; from pathlib import Path; f = Path('app/config.py'); f.write_text(f.read_text().replace('JWT_KEY_PLACEHOLDER', secrets.token_hex(32), 1));"

### Running tox
```shell
# Standard tests: 'coverage' and 'flake8'
tox
# Only flake8 tests
tox -e flake8
# Coverage with html reports
tox -e rep

Contributing

View contributing guidelines.