Metadata-Version: 2.1
Name: django-francedata
Version: 0.9.1
Summary: A Django app to provide a database structure, API and import scripts to manage French communes, intercommunalités, départements and régions, with their structure and data from Insee and the DGCL.
Home-page: https://github.com/entrepreneur-interet-general/django-francedata
License: AGPL-3
Keywords: django
Author: Sylvain Boissel
Author-email: sylvain.boissel@dgcl.gouv.fr
Requires-Python: >=3.8,<4.0
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 3.2
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Requires-Dist: Django (>=3.2.7,<4.0.0)
Requires-Dist: Unidecode (>=1.2.0,<2.0.0)
Requires-Dist: django-ninja (>=0.14.0,<0.15.0)
Requires-Dist: openpyxl-dictreader (>=0.1.3,<0.2.0)
Requires-Dist: python-stdnum (>=1.16,<2.0)
Requires-Dist: requests (>=2.26.0,<3.0.0)
Project-URL: Repository, https://github.com/entrepreneur-interet-general/django-francedata
Description-Content-Type: text/x-rst

=================
Django-Francedata
=================

Provides a database structure, API and import scripts to manage French communes, intercommunalités, départements and régions, with their structure and data from Insee and the DGCL.

This app was created as a part of `Open Collectivités <https://github.com/entrepreneur-interet-general/opencollectivites>`_.

Unaccent extension
##################

If the PostgreSQL user specified in the Django settings is not a superuser, connect to the postgres user and create the Unaccent extension manually::

    psql
    \c <dbname>
    "CREATE EXTENSION  IF NOT EXISTS unaccent;"

Quickstart
##########

1. Add "francedata" to your INSTALLED_APPS setting like this::

    INSTALLED_APPS = [
        ...
        'francedata',
    ]

2. Run ``python manage.py migrate`` to create the francedata models.

3. Run the two initialization commands to get the communes, EPCIs, départements and régions structure::

    python manage.py cog_import
    python manage.py banatic_import

4. Visit http://127.0.0.1:8000/admin/ to see the data.
  
Commands
########

cog_import:
***********

* goal: load the following data from the Code officiel géographique (COG): list of regions, departements and communes, with how they are linked and:
  * insee and siren ids for the regions/departements
  * insee for the communes
* parameters:
  * --level: partial import of only the specified level (the script expects the higher ones to already be installed) Allowed values: `regions`, `departements`, `communes`
  * --years: import the specified year (min: 2019), by default it imports the latest available one in https://www.data.gouv.fr/fr/datasets/code-officiel-geographique-cog/

banatic_import:
***************

* goal: load the following data from the Banatic:
  * siren ids and population data for the communes
  * insee for the communes
* The script expects that `cog_import` was already run and that the communes level is passed before the epci level.
* parameters:
  * --level: partial import of only the specified level. Allowed values: `communes`, `epci`
  * --years: import the specified year (min: 2019 for the communes level (data is taken from the file `Table de correspondance code SIREN / Code Insee des communes` from https://www.banatic.interieur.gouv.fr/V5/fichiers-en-telechargement/fichiers-telech.php ), by default it imports the latest available one)
* warning: The epci level only works for the current year (data is taken from https://www.data.gouv.fr/fr/datasets/base-nationale-sur-les-intercommunalites/ )

