Package: dj-hubspot
dj-hubspot - Django + HubSpot Made EasyHubSpot Models for Django.Introductiondj-hubspot implements all of the HubSpot models, for Django. Set up your
webhook endpoint and start receiving model updates. You will then have
a copy of all the HubSpot models available in Django models, as soon as
they are updated!FeaturesTODORequirementsDjango >=3.2Python >=3.8PostgreSQL engine (recommended) >=9.6MySQL engine: MariaDB >=10.2 or MySQL >=5.7SQLite: Not recommended in production. Version >=3.26 required.ContributeDjango app template, usingpoetry-pythonas dependency manager.This project is a template that can be cloned and re-used for
redistributable apps.It includes the following:poetryfor dependency managementisort,black,pyupgradeandflake8lintingpre-committo run lintingmypyfor type checkingtoxand Github Actions for builds and CIThere are default config files for the linting and mypy.PrinciplesThe motivation for this project is to provide a consistent set of
standards across all YunoJuno public Python/Django projects. The
principles we want to encourage are:Simple for developers to get up-and-runningConsistent style (black,isort,flake8)Future-proof (pyupgrade)Full type hinting (mypy)VersioningWe currently support Python 3.7+, and Django 3.2+. We will aggressively
upgrade Django versions, and we won't introduce hacks to support
breaking changes - if Django 4 introduces something that 2.2 doesn't
support we'll drop it.Coding styleWe usepre-committo run code quality tools.Install pre-commithowever you like (e.g.pip install pre-commitwith your system python) then set up pre-commit to run every time you commit with:>pre-commitinstallYou can then run all tools:>pre-commitrun--all-filesFor more info, see the docs, or the code quality chapters inBoost Your Django DX.TestsTests packageThe package tests themselves areoutsideof the main library code, in
a package that is itself a Django app (it containsmodels,settings,
and any other artifacts required to run the tests (e.g.urls).) Where
appropriate, this test app may be runnable as a Django project - so that
developers can spin up the test app and see what admin screens look
like, test migrations, etc.Running testsThe tests themselves usepytestas the test runner. If you have
installed thepoetryevironment, you can run them thus:$ poetry run pytestor$ poetry shell
(djhubspot) $ pytestThe full suite is controlled bytox, which contains a set of
environments that will format, lint, and test against all
support Python + Django version combinations.$ tox
...
______________________ summary __________________________
  fmt: commands succeeded
  lint: commands succeeded
  mypy: commands succeeded
  py37-django22: commands succeeded
  py37-django32: commands succeeded
  py37-djangomain: commands succeeded
  py38-django22: commands succeeded
  py38-django32: commands succeeded
  py38-djangomain: commands succeeded
  py39-django22: commands succeeded
  py39-django32: commands succeeded
  py39-djangomain: commands succeededCIThere is a.github/workflows/tox.ymlfile that can be used as a
baseline to run all of the tests on Github. This file runs the oldest
(2.2), newest (3.2), and head of the main Django branch.