Skip to main content

Taxonomy connector

Project description

Taxonomy

PyPI Codecov

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.

Note: 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

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@edx.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.

Change Log

Unreleased

[1.11.2] - 2021-05-28

  • Added utility method to return serialized course skills.

[1.11.1] - 2021-04-20

  • Fixed .rst issues in CHANGELOG.rst

[1.11.0] - 2021-04-16

  • Mention currency in median salary field and add verbose name for models.

[1.10.0] - 2021-04-12

  • Remove all the usages of old course_id field including the column definition in CourseSkills model.

[1.9.0] - 2021-04-12

  • Replace the usages of old course_id in CourseSkills with the new course_key field.

[1.8.0] - 2021-04-09

  • Added a new field named course_key in CourseSkills model to deprecate and replace the old course_id field in future.

[1.7.0] - 2021-04-07

  • Removed RefreshCourseSkill view.

[1.6.2] - 2021-03-12

  • Handled edge cases in refresh_course_skills command.

[1.6.1] - 2021-03-10

  • Updated logging structure for refresh_course_skills command.

[1.6.0] - 2021-03-09

  • Added support for –all param in refresh_course_skills command to back populate data.

[1.5.0] - 2021-03-04

  • Added populate_job_names command.

[1.4.1] - 2021-02-19

  • Added description field in Skill model and update the refresh_course_skill command to save skill description.

  • Pinning EMSI skills API version to 7.35

[1.4.0] - 2021-02-17

  • Updated refresh_job_skill command to get jobs related only to skills that are in our system

  • Updated refresh_job_postings command to get job_posting only related to job we already have in our system.

  • Added constrains on the Job, Skill, JobPostings, CourseSkill and JobSkill table.

  • Added migration to remove all previous taxonomy data.

  • Added utility to chuck the queryset provided.

[1.3.6] - 2021-01-29

  • Remove caching from EMSI API client.

[1.3.5] - 2021-01-27

  • Added some utility functions for adding/removing course skills to/from blacklist.

[1.3.4] - 2021-01-27

  • More logging.

[1.3.3] - 2021-01-26

  • Improve logging.

[1.3.2] - 2021-01-25

  • Added logs for signals and tasks.

[1.3.1] - 2021-01-22

  • Added the ability to black list course skills.

[1.3.0] - 2021-01-13

  • Added JobSkills.skill column and removed JobSkills.name column.

[1.2.1] - 2021-01-07

  • Added course update signal and handler to trigger the celery task

  • Added celery task to update course skills

  • Refactored refresh_course_skills management command

[1.2.0] - 2020-12-24

  • Fixed TypeError that pops up sometimes while communicating with the EMSI API.

[1.1.6] - 2020-12-24

  • Updated the README description.

[1.1.5] - 2020-12-18

  • Fixed travis issue related to PyPI upload.

[1.1.4] - 2020-12-17

  • Fixed the bug where EMSI API was returning 404 for job posting data.

[1.1.3] - 2020-11-05

  • Updating travis configuration.

[1.1.2] - 2020-10-20

  • Updating jobs-salary data’s query.

[1.1.1] - 2020-10-20

  • Updating skills-jobs data’s query.

[1.1.0] - 2020-09-30

  • Renamed main package name from taxonomy-service to taxonomy-connector.

[1.0.1] - 2020-09-21

  • Added package data, so that migrations and python packages are included in the final build.

[1.0.0] - 2020-09-09

  • Added Providers and Validators for integrations and upgraded to the first stable release.

[0.1.1] - 2020-09-09

  • Enable Travis integration

[0.1.0] - 2020-08-27

  • Added Basic skeleton and clients to call EMSI endpoint.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

taxonomy-connector-1.11.2.tar.gz (39.5 kB view hashes)

Uploaded Source

Built Distribution

taxonomy_connector-1.11.2-py3-none-any.whl (45.8 kB view hashes)

Uploaded Python 3

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