Catalog PyPI
Back to packageRELEASE DETAILS

7.0.2

PyPI

ai-django-core

Ambient toolbox - Lots of helper functions and useful widgets

Published20 Jul 2023
Direct dependencies18
Transitive dependenciesNot calculated

README

Version 7.0.2 documentation

pypi Downloads Documentation Status

Disclaimer: Package was superseded by ambient-toolbox!

This package was renamed, moved and deprecated under the old name. The successor is the "Ambient Toolbox".


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

Setup package for development

  • Create a Python 3.11 virtualenv
  • Activate the virtualenv (take care that you need Scripts/activate.ps1 for Windows users instead of Scripts/activate)
  • Install dependencies with pip install .[dev,docs,view-layer,drf,graphql]

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 ruff --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
    

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 18

Native requirements
18 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
Django
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "",
  "evaluation": "NOT_EVALUATED"
}
Django>=2.2.28runtime
bleach
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "",
  "evaluation": "NOT_EVALUATED"
}
bleach>=1.4,<6runtime
python-dateutil
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "",
  "evaluation": "NOT_EVALUATED"
}
python-dateutil>=2.5.3runtime
html2text
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "",
  "evaluation": "NOT_EVALUATED"
}
html2text>=2020.1.16runtime
freezegun
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": "",
  "evaluation": "NOT_EVALUATED"
}
freezegun ; extra == "dev"runtime
gevent
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": "",
  "evaluation": "NOT_EVALUATED"
}
gevent ; extra == "dev"runtime
pre-commit
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": "",
  "evaluation": "NOT_EVALUATED"
}
pre-commit ; extra == "dev"runtime
pytest-cov
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": "",
  "evaluation": "NOT_EVALUATED"
}
pytest-cov ; extra == "dev"runtime
pytest-django
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": "",
  "evaluation": "NOT_EVALUATED"
}
pytest-django ; extra == "dev"runtime
pytest-mock
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": "",
  "evaluation": "NOT_EVALUATED"
}
pytest-mock ; extra == "dev"runtime
sphinx
Environment
{
  "extras": "",
  "marker": "extra == \"docs\"",
  "requires_python": "",
  "evaluation": "NOT_EVALUATED"
}
sphinx==4.2.0 ; extra == "docs"runtime
sphinx-rtd-theme
Environment
{
  "extras": "",
  "marker": "extra == \"docs\"",
  "requires_python": "",
  "evaluation": "NOT_EVALUATED"
}
sphinx-rtd-theme==1.0.0 ; extra == "docs"runtime
m2r2
Environment
{
  "extras": "",
  "marker": "extra == \"docs\"",
  "requires_python": "",
  "evaluation": "NOT_EVALUATED"
}
m2r2==0.3.1 ; extra == "docs"runtime
mistune
Environment
{
  "extras": "",
  "marker": "extra == \"docs\"",
  "requires_python": "",
  "evaluation": "NOT_EVALUATED"
}
mistune<2.0.0 ; extra == "docs"runtime
djangorestframework
Environment
{
  "extras": "",
  "marker": "extra == \"drf\"",
  "requires_python": "",
  "evaluation": "NOT_EVALUATED"
}
djangorestframework>=3.8.2 ; extra == "drf"runtime
graphene-django
Environment
{
  "extras": "",
  "marker": "extra == \"graphql\"",
  "requires_python": "",
  "evaluation": "NOT_EVALUATED"
}
graphene-django>=2.2.0 ; extra == "graphql"runtime
django-graphql-jwt
Environment
{
  "extras": "",
  "marker": "extra == \"graphql\"",
  "requires_python": "",
  "evaluation": "NOT_EVALUATED"
}
django-graphql-jwt>=0.2.1 ; extra == "graphql"runtime
django-crispy-forms
Environment
{
  "extras": "",
  "marker": "extra == \"view-layer\"",
  "requires_python": "",
  "evaluation": "NOT_EVALUATED"
}
django-crispy-forms>=1.4.0 ; extra == "view-layer"runtime

Distribution files

2 collected
ai_django_core-7.0.2-py2.py3-none-any.whl

bdist_wheel · 61.33 KB · Python py2.py3

Source file
ai-django-core-7.0.2.tar.gz

sdist · 116.56 KB · Python source

Source file

Repository

PENDING
ambient-innovation/ai-django-core

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 10:31 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:de36aaad4aae95297bb994bf0633a41b994132cc8849d117fb4657efdf5a89c0

Other collected versions

View all collected versions →