{"id":24024778,"url":"https://github.com/cognitedata/python-extractor-utils","last_synced_at":"2025-07-05T01:38:28.375Z","repository":{"id":37825860,"uuid":"194074453","full_name":"cognitedata/python-extractor-utils","owner":"cognitedata","description":"Framework for developing extractors in Python","archived":false,"fork":false,"pushed_at":"2024-05-22T11:37:06.000Z","size":962,"stargazers_count":12,"open_issues_count":7,"forks_count":5,"subscribers_count":65,"default_branch":"master","last_synced_at":"2024-05-22T12:05:53.062Z","etag":null,"topics":["cognite-data-fusion","cognite-extractor","data-integration","python"],"latest_commit_sha":null,"homepage":"https://cognite-extractor-utils.readthedocs-hosted.com/en/latest/index.html","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cognitedata.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-27T10:26:09.000Z","updated_at":"2024-06-11T10:05:59.119Z","dependencies_parsed_at":"2023-10-17T04:17:16.483Z","dependency_job_id":"11ef78aa-e686-4efa-8b96-9b3e91640bd4","html_url":"https://github.com/cognitedata/python-extractor-utils","commit_stats":{"total_commits":259,"total_committers":25,"mean_commits":10.36,"dds":"0.33204633204633205","last_synced_commit":"548330bf3a6f68ce67b0c64911bddd9100473e44"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cognitedata%2Fpython-extractor-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cognitedata%2Fpython-extractor-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cognitedata%2Fpython-extractor-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cognitedata%2Fpython-extractor-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cognitedata","download_url":"https://codeload.github.com/cognitedata/python-extractor-utils/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249194680,"owners_count":21228034,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cognite-data-fusion","cognite-extractor","data-integration","python"],"created_at":"2025-01-08T15:34:51.350Z","updated_at":"2025-04-16T04:22:14.144Z","avatar_url":"https://github.com/cognitedata.png","language":"Python","readme":"\u003ca href=\"https://cognite.com/\"\u003e\n    \u003cimg src=\"https://github.com/cognitedata/cognite-python-docs/blob/master/img/cognite_logo.png\" alt=\"Cognite logo\" title=\"Cognite\" align=\"right\" height=\"80\" /\u003e\n\u003c/a\u003e\n\nCognite Python `extractor-utils`\n================================\n[![Build Status](https://github.com/cognitedata/python-extractor-utils/workflows/release/badge.svg)](https://github.com/cognitedata/python-extractor-utils/actions)\n[![Documentation Status](https://readthedocs.com/projects/cognite-extractor-utils/badge/?version=latest\u0026token=a9bab88214cbf624706005f6a71bbd77964efc910f8e527c7b3d75edc016397c)](https://cognite-extractor-utils.readthedocs-hosted.com/en/latest/?badge=latest)\n[![codecov](https://codecov.io/gh/cognitedata/python-extractor-utils/branch/master/graph/badge.svg?token=7AmVCpAh7I)](https://codecov.io/gh/cognitedata/python-extractor-utils)\n[![PyPI version](https://badge.fury.io/py/cognite-extractor-utils.svg)](https://pypi.org/project/cognite-extractor-utils)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/cognite-extractor-utils)\n[![License](https://img.shields.io/github/license/cognitedata/python-extractor-utils)](LICENSE)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n\nThe `extractor-utils` package is an extension of the Cognite Python SDK intended to simplify the development of data\nextractors or other integrations for Cognite Data Fusion.\n\nDocumentation is hosted [here](https://cognite-extractor-utils.readthedocs-hosted.com/en/latest/), including a\n[quickstart tutorial](https://cognite-extractor-utils.readthedocs-hosted.com/en/latest/quickstart.html).\n\nThe changelog is found [here](./CHANGELOG.md).\n\n## Overview\n\nThe best way to start a new extractor project is to use the `cogex` CLI. You can install that from PyPI:\n\n``` bash\npip install cognite-extractor-manager\n```\n\nTo initialize a new extractor project, run\n\n``` bash\ncogex init\n```\n\nin the directory you want your extractor project in. The `cogex` CLI will prompt you for some information about your\nproject, and then set up a poetry environment, git repository, commit hooks with type and style checks and load a\ntemplate.\n\n\n## Contributing\n\nThe package is open source under the [Apache 2.0 license](./LICENSE), and contribtuions are welcome.\n\nThis project adheres to the [Contributor Covenant v2.0](https://www.contributor-covenant.org/version/2/0/code_of_conduct/)\nas a code of conduct.\n\n\n### Development environment\n\nWe use [uv](https://docs.astral.sh/uv/) to manage dependencies and to administrate virtual environments. To develop\n`extractor-utils`, follow the following steps to set up your local environment:\n\n 1. [Install uv](https://docs.astral.sh/uv/getting-started/installation/) if you haven't already.\n\n 2. Clone repository:\n    ```\n    $ git clone git@github.com:cognitedata/python-extractor-utils.git\n    ```\n 3. Move into the newly created local repository:\n    ```\n    $ cd python-extractor-utils\n    ```\n 4. Create virtual environment and install dependencies:\n    ```\n    $ uv sync\n    ```\n\n\n### Code requirements\n\nAll code must pass [black](https://github.com/ambv/black) and [isort](https://github.com/timothycrosley/isort) style\nchecks to be merged. It is recommended to install pre-commit hooks to ensure this locally before commiting code:\n\n```\n$ poetry run pre-commit install\n```\n\nEach public method, class and module should have docstrings. Docstrings are written in the [Google\nstyle](https://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings). Please include unit and/or\nintegration tests for submitted code, and remember to update the [changelog](./CHANGELOG.md).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcognitedata%2Fpython-extractor-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcognitedata%2Fpython-extractor-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcognitedata%2Fpython-extractor-utils/lists"}