{"id":19946096,"url":"https://github.com/quantco/conda-deny","last_synced_at":"2025-05-03T16:32:54.727Z","repository":{"id":259436613,"uuid":"876226322","full_name":"Quantco/conda-deny","owner":"Quantco","description":"🔎🐍 A CLI tool to check your project's dependencies for license compliance","archived":false,"fork":false,"pushed_at":"2025-05-02T11:32:45.000Z","size":7657,"stargazers_count":21,"open_issues_count":7,"forks_count":0,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-05-02T12:38:42.737Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Quantco.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"zenodo":null}},"created_at":"2024-10-21T15:55:56.000Z","updated_at":"2025-05-02T11:32:47.000Z","dependencies_parsed_at":"2025-01-01T15:22:42.149Z","dependency_job_id":"6defd2f5-4159-47c9-8185-507fdd428310","html_url":"https://github.com/Quantco/conda-deny","commit_stats":null,"previous_names":["quantco/conda-deny"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quantco%2Fconda-deny","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quantco%2Fconda-deny/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quantco%2Fconda-deny/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quantco%2Fconda-deny/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Quantco","download_url":"https://codeload.github.com/Quantco/conda-deny/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252216099,"owners_count":21713099,"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":[],"created_at":"2024-11-13T00:28:17.341Z","updated_at":"2025-05-03T16:32:54.721Z","avatar_url":"https://github.com/Quantco.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"./.github/assets/conda-deny-banner-dark.png\"\u003e\n  \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"./.github/assets/conda-deny-banner-light.png\"\u003e\n  \u003cimg alt=\"conda-deny\" src=\"./.github/assets/conda-deny-banner-light.png\"\u003e\n\u003c/picture\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![License][license-badge]](LICENSE)\n[![CI Status][ci-badge]][ci]\n[![Binary Build][binary-build-badge]][binary-build]\n[![Conda Platform][conda-badge]][conda-url]\n[![Conda Downloads][conda-downloads-badge]][conda-url]\n[![Codecov][codecov]][codecov-url]\n\n[license-badge]: https://img.shields.io/github/license/quantco/conda-deny?style=flat-square\n\n[ci-badge]: https://img.shields.io/github/actions/workflow/status/quantco/conda-deny/ci.yml?branch=main\u0026style=flat-square\u0026label=CI\n[ci]: https://github.com/quantco/conda-deny/actions/workflows/ci.yml\n\n[binary-build-badge]: https://img.shields.io/github/actions/workflow/status/quantco/conda-deny/build.yml?branch=main\u0026style=flat-square\u0026label=Binary%20Build\n[binary-build]: https://github.com/quantco/conda-deny/actions/workflows/build.yml\n\n[conda-badge]: https://img.shields.io/conda/vn/conda-forge/conda-deny?style=flat-square\n[conda-downloads-badge]: https://img.shields.io/conda/dn/conda-forge/conda-deny?style=flat-square\n[conda-url]: https://prefix.dev/channels/conda-forge/packages/conda-deny\n\n[codecov]: https://img.shields.io/codecov/c/github/quantco/conda-deny/main?style=flat-square\n[codecov-url]: https://codecov.io/gh/Quantco/conda-deny\n\n\u003c/div\u003e\n\n## 🗂 Table of Contents\n\n- [Introduction](#-introduction)\n- [Installation](#-installation)\n- [Usage](#-usage)\n\n## 📖 Introduction\n\nconda-deny is a CLI tool for checking software environment dependencies for license compliance.\nCompliance is checked with regard to a whitelist of licenses provided by the user. \n\n## 💿 Installation\n\nYou can install `conda-deny` using `pixi`:\n\n```bash\npixi global install conda-deny\n```\n\nOr by downloading our pre-built binaries from the [releases page](https://github.com/quantco/conda-deny/releases).\n\n## 🎯 Usage\n\n![conda-deny demo](.github/assets/demo/demo-light.gif#gh-light-mode-only)\n![conda-deny demo](.github/assets/demo/demo-dark.gif#gh-dark-mode-only)\n\n`conda-deny` can be configured in your `pixi.toml` or `pyproject.toml` (`pixi.toml` is preferred).\nThe tool expects a configuration in the following format:\n\n```toml\n[tool.conda-deny]\n#--------------------------------------------------------\n# General setup options:\n#--------------------------------------------------------\nlicense-whitelist = \"https://raw.githubusercontent.com/QuantCo/conda-deny/main/tests/test_remote_base_configs/conda-deny-license_whitelist.toml\" # or [\"license_whitelist.toml\", \"other_license_whitelist.toml\"]\nplatform = \"linux-64\" # or [\"linux-64\", \"osx-arm64\"]\nenvironment = \"default\" # or [\"default\", \"py39\", \"py310\", \"prod\"]\nlockfile = \"environment/pixi.lock\" # or [\"environment1/pixi.lock\", \"environment2/pixi.lock\"]\n\n#--------------------------------------------------------\n# License whitelist directly in configuration file:\n#--------------------------------------------------------\nsafe-licenses = [\"MIT\", \"BSD-3-Clause\"]\nignore-packages = [\n    { package = \"make\", version = \"0.1.0\" },\n]\n```\n\nAfter installing `conda-deny`, you can run `conda-deny check` in your project.\nThis then checks `pixi.lock` to determine the packages (and their versions) used in your project.\n\n### ✨ Output Formats\n\n`conda-deny` supports different output formats via the `--output` (or `-o`) flag.\nOutput formatting works for both, the `list` and the `check` command.\nTo get an overview of the different format options, try:\n\n```bash\n$ conda-deny list --output csv\npackage_name,version,license,platform,build,safe\n_openmp_mutex,4.5,BSD-3-Clause,linux-aarch64,2_gnu,false\n_openmp_mutex,4.5,BSD-3-Clause,linux-64,2_gnu,false\n...\n\n$ conda-deny list --output json-pretty\n{\n  \"unsafe\": [\n    {\n      \"build\": \"conda_forge\",\n      \"license\": {\n        \"Invalid\": \"None\"\n      },\n      \"package_name\": \"_libgcc_mutex\",\n      \"platform\": \"linux-64\",\n      \"version\": \"0.1\"\n    },\n    {\n      \"build\": \"h57d6b7b_14\",\n      \"license\": {\n        \"Invalid\": \"LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later AND MPL-2.0\"\n      },\n      \"package_name\": \"_sysroot_linux-aarch64_curr_repodata_hack\",\n      \"platform\": \"noarch\",\n      \"version\": \"4\"\n    },\n...\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquantco%2Fconda-deny","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquantco%2Fconda-deny","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquantco%2Fconda-deny/lists"}