Skip to main content

Ambient toolbox - Lots of helper functions and useful widgets

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

pypi Downloads Documentation Status

Overview

This package contains various useful helper functions. You can read up on all the fancy things at readthedocs.io.

Installation

  • Install the package via pip:

    pip install ai-django-core

    or via pipenv:

    pipenv install ai-django-core

  • Add module to INSTALLED_APPS within the main django settings.py:

    INSTALLED_APPS = (
        ...
        'ai_django_core',
    )
    

Contribute

Add functionality

  • Clone the project locally
  • Create a new branch for your feature
  • Change the dependency in your requirements.txt to a local (editable) one that points to your local file system: -e /Users/workspace/ai-django-core or via pip pip install -e /Users/workspace/ai-django-core
  • Ensure the code passes the tests
  • Create a pull request

Run tests

  • Check coverage

    pytest --cov=.
    
  • Run tests

    pytest
    

Git hooks (via pre-commit)

We use pre-push hooks to ensure that only linted code reaches our remote repository and pipelines aren't triggered in vain.

To enable the configured pre-push hooks, you need to install pre-commit and run once:

pre-commit install -t pre-push -t pre-commit --install-hooks

This will permanently install the git hooks for both, frontend and backend, in your local .git/hooks folder. The hooks are configured in the .pre-commit-config.yaml.

You can check whether hooks work as intended using the run command:

pre-commit run [hook-id] [options]

Example: run single hook

pre-commit run flake8 --all-files --hook-stage push

Example: run all hooks of pre-push stage

pre-commit run --all-files --hook-stage push

Update documentation

  • To generate new auto-docs for new modules run: sphinx-apidoc -o ./docs/modules/ ./ai_django_core/ (in the current set up an auto doc for the antivirus module is not supported due to installation and import problems. Since it might be removed in the future, that should be fine for now).
  • To build the documentation run: sphinx-build docs/ docs/_build/html/ or go into the docs folder and run: make html. Open docs/_build/html/index.html to see the documentation.

Translation files

If you have added custom text, make sure to wrap it in _() where _ is gettext_lazy (from django.utils.translation import gettext_lazy as _).

How to create translation file:

  • Navigate to ai_django_core/ai_django_core (the inner directory!)
  • python manage.py makemessages -l de
  • Have a look at the new/changed files within ai_django_core/ai_django_core/locale

How to compile translation files:

  • Navigate to ai_django_core/ai_django_core (the inner directory!)
  • python manage.py compilemessages
  • Have a look at the new/changed files within ai_django_core/ai_django_core/locale

Publish to ReadTheDocs.io

  • Fetch the latest changes in GitHub mirror and push them
  • Trigger new build at ReadTheDocs.io (follow instructions in admin panel at RTD) if the GitHub webhook is not yet set up.

Publish to PyPi

  • Update documentation about new/changed functionality

  • Update the Changelog

  • Increment version in main __init__.py

  • Create pull request / merge to master

  • This project uses the flit package to publish to PyPI. Thus publishing should be as easy as running:

    flit publish
    

    To publish to TestPyPI use the following ensure that you have set up your .pypirc as shown here and use the following command:

    flit publish --repository testpypi
    

Project details


Release history Release notifications | RSS feed

This version

6.9.2

Download files

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

Source Distribution

ai-django-core-6.9.2.tar.gz (111.2 kB view details)

Uploaded Source

Built Distribution

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

ai_django_core-6.9.2-py2.py3-none-any.whl (57.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file ai-django-core-6.9.2.tar.gz.

File metadata

  • Download URL: ai-django-core-6.9.2.tar.gz
  • Upload date:
  • Size: 111.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.28.1

File hashes

Hashes for ai-django-core-6.9.2.tar.gz
Algorithm Hash digest
SHA256 323c9c4b7f6b3fdcd7da8bd71b441b7a152fcdcffbe744ccd5c036905d916e80
MD5 8e76cbf38d43730f21d5e8c49c6a31e6
BLAKE2b-256 e970348b1ef7984636bcaa2bd8eeae0eaa212dab039e9133ef71e3f24f7ca8a3

See more details on using hashes here.

File details

Details for the file ai_django_core-6.9.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for ai_django_core-6.9.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 8fde5c4b5ef7937aa71bef2b0125c685a4a58068de95237aeef155b8a32748e6
MD5 a4d4a2ba7343f9310d6c202e45a3759f
BLAKE2b-256 6327619f1d0103d490b431a70999bf0333e6a9b6c3b7c8a77dca3efd209c7c9e

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