Skip to main content

Taxonomy

PyPI Codecov CI

The taxonomy service is a library that can be installed in other edX components that provides access to third party taxonomy vendors. EMSI is currently the only vendor available, but others may be integrated as necessary. This service can communicate with the vendor to get job, skill, and salary data. This service can also be used to submit data (course descriptions, etc.) to the vendor to produce potential matches for a skill or job.

After submitting a pull request, please use the Github “Reviewers” widget to add relevant reviewers and track review process.

Getting Started

To install taxonomy-connector, for example, in Course Discovery, follow these steps:

  1. It is recommended that you clone this repo into a sub-folder of your working directory. Create a sub-folder with name src if it doesn’t already exist.

  2. Clone this repository into the src folder.

  3. Go to the shell of the host environment where you want to install this package and run this pip install -e /edx/src/taxonomy-connector

  4. Changes made into the taxonomy repository will now be picked up by your host environment.

Notes:

  • In order to communicate with EMSI service, you need to set the values of client_id and client_secret. These values are picked up from the host environment so you need to pass them in .yaml file of the host environment.

  • Also, to make taxonomy work, the host platform must add an implementation of data providers written in ./taxonomy/providers

  • Taxonomy APIs use throttle rate set in DEFAULT_THROTTLE_RATES settings by default. Custom Throttle rate can by set by adding ScopedRateThrottle class in DEFAULT_THROTTLE_CLASSES settings and taxonomy-api-throttle-scope key in DEFAULT_THROTTLE_RATES

  • For the skill tags to be verified, the management command finalize_xblockskill_tags needs to be run periodically.

  • Also, You can configure the skill tags verification by setting the values of SKILLS_VERIFICATION_THRESHOLD, SKILLS_VERIFICATION_RATIO_THRESHOLD, SKILLS_IGNORED_THRESHOLD and SKILLS_IGNORED_RATIO_THRESHOLD in the host platform or by passing the values to the command using the args --min-verified-votes, --ratio-verified-threshold, --min-ignored-votes and --ratio-ignored-threshold.

REST_FRAMEWORK = {
    'DEFAULT_THROTTLE_CLASSES': (
        'rest_framework.throttling.UserRateThrottle',
        'rest_framework.throttling.ScopedRateThrottle'
    ),
    'DEFAULT_THROTTLE_RATES': {
        'user': '100/hour',
        'taxonomy-api-throttle-scope': '60/min',  # custom throttle rate for taxonomy api
    },
}

Developer Notes

  • To run unit tests, create a virtualenv, install the requirements with make requirements and then run make test

  • To update the requirements, run make upgrade

  • To run quality checks, run make quality

  • Please do not import models directly in course discovery. e:g if you want to import CourseSkills in Discovery, use the utility get_whitelisted_course_skills instead of directly importing it.

Reporting Security Issues

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

Getting Help

Have a question about this repository, or about Open edX in general? Please refer to this list of resources if you need any assistance.

Metadata

Release files for taxonomy-connector 4.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for taxonomy-connector 4.2.0
File Size Uploaded
taxonomy_connector-4.2.0.tar.gz 539.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for taxonomy-connector 4.2.0
File Interpreter ABI Platform
taxonomy_connector-4.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 674.1 kB

Release files / taxonomy_connector-4.2.0.tar.gz

Download URL taxonomy_connector-4.2.0.tar.gz
Size 539.5 kB
Tags Source
SHA-256 checksum
How to use checksums
e4cfa0b2f6bd6f850d4267d9040315a83c9c35028c6d03e27bec00119c78d5e9
BLAKE2b-256 checksum
How to use checksums
561060948f5d2f93186592e473864fa3972f0d92aa6c3de26d21ccad5220f4c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / taxonomy_connector-4.2.0-py3-none-any.whl

Download URL taxonomy_connector-4.2.0-py3-none-any.whl
Size 134.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
903e57ae544698797bea10e88f4cfba0ae760d467038b859f455f7f31b6afaa2
BLAKE2b-256 checksum
How to use checksums
1b4884650b9c06e71f10c31ce347c166a6d6cae2cdc92ea893510b615cc326ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

4.2.0 This release

2 release files

4.1.0

2 release files

4.0.0

2 release files

3.0.0

2 release files

2.4.0

2 release files

2.3.22

2 release files

2.3.20

2 release files

2.3.18

2 release files

2.3.16

2 release files

2.3.13

2 release files

2.3.12

2 release files

2.3.9

2 release files

2.3.8

2 release files

2.3.7

2 release files

2.3.6

2 release files

2.3.5

2 release files

2.3.3

2 release files

2.3.2

2 release files

2.3.0

2 release files

2.2.4

2 release files

2.2.3

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.53.0

2 release files

1.52.0

2 release files

1.51.1

2 release files

1.51.0

2 release files

1.50.0

2 release files

1.46.2

2 release files

1.46.0

2 release files

1.45.0

2 release files

1.44.3

2 release files

1.44.2

2 release files

1.44.1

2 release files

1.43.1

2 release files

1.42.3

2 release files

1.42.2

2 release files

1.41.0

2 release files

1.39.0

2 release files

1.38.1

2 release files

1.37.2

2 release files

1.37.1

2 release files

1.37.0

2 release files

1.36.3

2 release files

1.36.1

2 release files

1.35.1

2 release files

1.34.0

2 release files

1.31.2

2 release files

1.29.0

2 release files

1.28.2

2 release files

1.28.1

2 release files

1.28.0

2 release files

1.27.0

2 release files

1.25.0

2 release files

1.24.0

2 release files

1.23.1

2 release files

1.22.5

2 release files

1.22.4

2 release files

1.22.1

2 release files

1.22.0

2 release files

1.20.0

2 release files

1.16.3

2 release files

1.16.2

2 release files

1.16.1

2 release files

1.16.0

2 release files

1.15.3

2 release files

1.15.2

2 release files

1.15.1

2 release files

1.14.4

2 release files

1.14.3

2 release files

1.14.1

2 release files

1.14.0

2 release files

1.13.0

2 release files

1.12.0

2 release files

1.11.2

2 release files

1.11.1

2 release files

1.9.0

2 release files

1.8.0

2 release files

1.6.2

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.6

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.5

2 release files

1.1.2

2 release files

1.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page