Skip to main content

Justin's Object-Oriented Paradigms

Project description

joop

image

OOP Paradigms with an emphasis on DAO patterns, HTMX, and AlpineJS.

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:

  1. Install poetry globally if it is not already installed:

    pip install poetry
    
  2. Install the Poetry Shell plugin to enable the poetry shell command:

    poetry self add poetry-plugin-shell
    
  3. Use poetry to install all dependencies (including development tools like twine):

    poetry install
    

    This will automatically create a virtual environment in the .venv folder inside the project directory, as specified in the poetry.toml file.

  4. To activate the virtual environment, use:

    poetry shell
    

Build commands

  1. Run poetry check to validate the pyproject.toml file:

    poetry check
    
  2. Build the package using python -m build:

    poetry run python -m build
    

    This will generate distribution files in the dist/ directory.

  3. 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:

  1. Ensure all dependencies, including development dependencies, are installed:

    poetry install --with dev
    
  2. 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/html directory.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

joop-0.1.5.tar.gz (84.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

joop-0.1.5-py3-none-any.whl (58.7 kB view details)

Uploaded Python 3

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

Hashes for joop-0.1.5.tar.gz
Algorithm Hash digest
SHA256 b67c96d271c92d5458b63357d4f0e912b2a90438e57950c19acc029d7ff8e71e
MD5 286ac9a1fa4f022c1b44e0b1ad8c521b
BLAKE2b-256 9a55ecabdea87b20a74cbb5deddb9ab558cb7f4dded8655e063aca360c2ae423

See more details on using hashes here.

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

Hashes for joop-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 6d8dc8de2648eaf2c85a9a2086a1ade398855c90fbb9a893762c008adc58a121
MD5 e8c99cc8da5a2a62ff58b782da20cf0c
BLAKE2b-256 0a5ad2e1a8a5532a8127f58d2e859b55c198b2df562506ca5723d611d7b74037

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page