Skip to main content

A reusable Django App for importing, updating, and managing structured occupation data.

Project description

PyPI Travis Codecov Documentation Supported Python versions License

django-occupations is a reusable Django App for importing, updating, and managing structured occupation data.

Overview

The structure of this data is currently based primarily on the US Federal Government’s Standard Occupational Classification (SOC) system, but in the future we aspire to support other structured occupation sources. The US Federal Government’s Office of Management and Budget is responsible for maintaining the Standard Occupational Classification (SOC) system. For more information on SOC, please visit https://www.bls.gov/soc/ or https://www.bls.gov/soc/2018/soc_2018_manual.pdf or https://www.bls.gov/soc/2018/soc_2018_definitions.pdf and https://www.bls.gov/soc/2018/soc_structure_2018.pdf

Quick start

  1. Add “django_occupations” to your INSTALLED_APPS setting like this:

    INSTALLED_APPS = [
        ...
        'django_occupations',
    ]
  2. Include the django-occupations URLconf in your project urls.py like this:

    path('occupations/', include('django_occupations.urls')),
  3. Run python manage.py migrate to create the django-occupations models.

  4. Start the development server and visit http://127.0.0.1:8000/admin/ to view or edit occupation data (you’ll need the Admin app enabled).

Roadmap

  • Update documentation

  • Add model relationships

  • Add slug fields for URLs

  • Add test coverage

  • Add management command to pull the latest SOC data

  • Add latest SOC data to version control and add a migration to populate data from SOC data

  • Add management command to update SOC Direct Match Titles

  • Decide how to handle when SOC removes certain occupations? Merge into others? Orphan them? Note the date they were deprecated?

  • Clean up some lingering references to edX that no longer make sense (this repo was set up using an edX-authored cookiecutter https://github.com/edx/edx-cookiecutters/tree/master/cookiecutter-django-app )

Documentation

(TODO: Set up documentation)

## Data Policy We use SOC 6-digit codes, but omit the hypen that SOC puts between the 2nd and 3rd digit

For Maintainers

To publish a new release: 1. Update the version number in the application module’s __init__.py file, update CHANGELOG.rst accordingly, and run python setup.py tag 2. Generate distributions using python setup.py sdist bdist_wheel (based on the instructions at https://packaging.python.org/tutorials/packaging-projects/#generating-distribution-archives) 3. Use twine to update PyPi with python -m twine upload dist/*

License

The code in this repository is licensed under the Apache Software License 2.0 unless otherwise noted.

Please see LICENSE.txt for details.

How To Contribute

Contributions are very welcome. Please read How To Contribute for details. Even though they were written with edx-platform in mind, we are happy to invite contributions using the same guidelines.

The pull request description template should be automatically applied if you are creating a pull request from GitHub. Otherwise you can find it at PULL_REQUEST_TEMPLATE.md.

The issue report template should be automatically applied if you are creating an issue on GitHub as well. Otherwise you can find it at ISSUE_TEMPLATE.md.

Reporting Security Issues

Please do not report security issues in public. Please email hello@careervillage.org.

Getting Help

If you’re having trouble, please comment in the Github Issues for this repo or contact us at hello@careervillage.org

Change Log

Unreleased

Refer to the “Roadmap” section of the README.

[0.2.2] 2021-02-10

  • Makes the ONetAlternateTitles-to-SOCOccupations relationship many-to-many. This better matches the ONET taxonomy.

  • You must migrate after upgrading.

[0.2.1] 2020-06-19

  • Adds name field to SOCHighLevelAggregationGroup model.

  • Removes directtitlematch model.

  • You must migrate after upgrading.

[0.2.0] 2020-06-13

  • Adds ONet models for Occupations and Alternate Titles.

  • You must migrate after upgrading.

[0.1.0] 2020-06-06

  • First release on PyPI.

  • Defines SOC models.

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

django-occupations-0.2.2.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

django_occupations-0.2.2-py2.py3-none-any.whl (17.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-occupations-0.2.2.tar.gz.

File metadata

  • Download URL: django-occupations-0.2.2.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.5

File hashes

Hashes for django-occupations-0.2.2.tar.gz
Algorithm Hash digest
SHA256 800eeced40890a191571becb378560c195f77d744784fdc93e1043ec9fe017b3
MD5 a2e5b25e48892610ad04bc2b2512f300
BLAKE2b-256 dcc6406c13f7cc3e75006c0b6ddc068cdce6083351f83876bf83cdb20e8bfde1

See more details on using hashes here.

File details

Details for the file django_occupations-0.2.2-py2.py3-none-any.whl.

File metadata

  • Download URL: django_occupations-0.2.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 17.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.5

File hashes

Hashes for django_occupations-0.2.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 298e2fdca6b6095c153abf59d0f2a8678adfa1a28b026f24551cde4fe4ac233e
MD5 847fad7bd97fc8a4278594f38b4f8f9e
BLAKE2b-256 d440908ac36285d712d9f557fb4b052e81938931215019ea044d7f21bd9140c4

See more details on using hashes here.

Supported by

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