Justin's Object-Oriented Paradigms
Project description
joop
OOP Paradigms with an emphasis on DAO patterns, HTMX, and AlpineJS.
- Free software: Apache Software License 2.0
- Documentation: https://rushinjgr.github.io/joop
Features
- HTML Components for server-side rendering.
- Declarative DataFlow module:
- Data model based.
- Supports local caching of inbound & outbound data, especially via SQLite.
- Supports fanout of outbound data to multiple sources of different varieties.
- Ideal for IoT use cases.
Getting Started
Setting Up a Virtual Environment
It is recommended to use poetry to manage the virtual environment and dependencies. Follow these steps:
-
Install
poetryglobally if it is not already installed:pip install poetry
-
Install the Poetry Shell plugin to enable the
poetry shellcommand:poetry self add poetry-plugin-shell
-
Use
poetryto install all dependencies (including development tools liketwine):poetry installThis will automatically create a virtual environment in the
.venvfolder inside the project directory, as specified in thepoetry.tomlfile. -
To activate the virtual environment, use:
poetry shell
Build commands
-
Run
poetry checkto validate thepyproject.tomlfile:poetry check -
Build the package using
python -m build:poetry run python -m build
This will generate distribution files in the
dist/directory. -
Verify the distribution files using
twine check:poetry run twine check dist/*
This ensures the distribution files are ready for upload to PyPI.
Building the Documentation
To build the documentation, follow these steps:
-
Ensure all dependencies, including development dependencies, are installed:
poetry install --with dev
-
Build the documentation using Sphinx:
poetry run sphinx-build -b html docs/source docs/build/html
The generated HTML files will be located in the
docs/build/htmldirectory. -
Open the documentation in your browser by navigating to:
docs/build/html/index.html
Commands
For all commands, run in joop/python
To run the CLI: python -m joop.cli
For tests, run python -m unittest joop.tests (add -vvv to see output)
For coverage, run:
coverage run -m unittest joop.tests
coverage report
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file joop-0.1.5.tar.gz.
File metadata
- Download URL: joop-0.1.5.tar.gz
- Upload date:
- Size: 84.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b67c96d271c92d5458b63357d4f0e912b2a90438e57950c19acc029d7ff8e71e
|
|
| MD5 |
286ac9a1fa4f022c1b44e0b1ad8c521b
|
|
| BLAKE2b-256 |
9a55ecabdea87b20a74cbb5deddb9ab558cb7f4dded8655e063aca360c2ae423
|
File details
Details for the file joop-0.1.5-py3-none-any.whl.
File metadata
- Download URL: joop-0.1.5-py3-none-any.whl
- Upload date:
- Size: 58.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d8dc8de2648eaf2c85a9a2086a1ade398855c90fbb9a893762c008adc58a121
|
|
| MD5 |
e8c99cc8da5a2a62ff58b782da20cf0c
|
|
| BLAKE2b-256 |
0a5ad2e1a8a5532a8127f58d2e859b55c198b2df562506ca5723d611d7b74037
|