Name | kospex JSON |
Version |
0.0.19
JSON |
| download |
home_page | None |
Summary | kospex - Code and Developer Analytics. |
upload_time | 2025-07-09 03:14:51 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.11 |
license | MIT License
Copyright (c) 2025 Peter Freiberg
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
|
keywords |
analytics
git
code analytics
developer analytics
open source inventory
predictive maintenance
|
VCS |
 |
bugtrack_url |
|
requirements |
annotated-types
anyio
blinker
build
certifi
cffi
charset-normalizer
click
click-default-group
cryptography
dateutils
Deprecated
docutils
fastapi
Flask
ghp-import
h11
id
idna
itsdangerous
jaraco.classes
jaraco.context
jaraco.functools
Jinja2
keyring
kospex
Markdown
markdown-it-py
MarkupSafe
mdurl
mergedeep
mkdocs
mkdocs-get-deps
more-itertools
nh3
packaging
panopticas
pathspec
platformdirs
pluggy
prettytable
pycparser
pydantic
pydantic_core
PyGithub
Pygments
PyJWT
PyNaCl
pyproject_hooks
python-dateutil
python-dotenv
python-multipart
pytz
PyYAML
pyyaml_env_tag
readme_renderer
requests
requests-toolbelt
rfc3986
rich
six
sniffio
sqlite-fts4
sqlite-utils
starlette
tabulate
twine
typing-inspection
typing_extensions
urllib3
uvicorn
watchdog
wcwidth
Werkzeug
wrapt
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# kospex
Kospex is a CLI which aims to _"look at the guts of your code"_ to help gain insights into your developers and technology landscape.
It uses database structure from the excellent [Mergestat lite](https://github.com/mergestat/mergestat-lite) to model data from git repositories.
For details on changes, see the [changelog](https://github.com/kospex/kospex/blob/main/CHANGELOG.md)
## Installation, setup and usage
See the official [installation documentation](https://kospex.io/getting-started)
## What is a kospex?
We're aiming to [k]now your c[o]de by in[spe]cting the haruspe[x].
From Wikipedia, _The Latin terms haruspex and haruspicina are from an archaic word, hīra = "entrails, intestines"_
So we're going to help look at the "guts of your code" to gain an understanding of the applications, technology landscape (sprawl?) and developers.
Raw data
{
"_id": null,
"home_page": null,
"name": "kospex",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "analytics, git, code analytics, developer analytics, open source inventory, predictive maintenance",
"author": null,
"author_email": "Peter Freiberg <peter.freiberg@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/a0/59/8e82581e2ed662aa40b6eb0b75f12e5bc16836823606a4897b71f009bac1/kospex-0.0.19.tar.gz",
"platform": null,
"description": "# kospex\n\nKospex is a CLI which aims to _\"look at the guts of your code\"_ to help gain insights into your developers and technology landscape.\nIt uses database structure from the excellent [Mergestat lite](https://github.com/mergestat/mergestat-lite) to model data from git repositories.\n\nFor details on changes, see the [changelog](https://github.com/kospex/kospex/blob/main/CHANGELOG.md)\n\n## Installation, setup and usage\n\nSee the official [installation documentation](https://kospex.io/getting-started)\n\n## What is a kospex?\n\nWe're aiming to [k]now your c[o]de by in[spe]cting the haruspe[x].\nFrom Wikipedia, _The Latin terms haruspex and haruspicina are from an archaic word, h\u012bra = \"entrails, intestines\"_\n\nSo we're going to help look at the \"guts of your code\" to gain an understanding of the applications, technology landscape (sprawl?) and developers.\n",
"bugtrack_url": null,
"license": "MIT License\n \n Copyright (c) 2025 Peter Freiberg\n \n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n \n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n \n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n ",
"summary": "kospex - Code and Developer Analytics.",
"version": "0.0.19",
"project_urls": {
"Homepage": "https://kospex.io",
"Issues": "https://github.com/kospex/kospex/issues",
"Repository": "https://github.com/kospex/kospex"
},
"split_keywords": [
"analytics",
" git",
" code analytics",
" developer analytics",
" open source inventory",
" predictive maintenance"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "2f3b92a7e91be462bc9a8ab77f8bcb25aff5c994c031cf4cde944b4534c627c8",
"md5": "28fd2c9f31bd936359c75e409fc408d8",
"sha256": "69c6421d850e47b78b6dd97cf3ad057fd0a0d292f78209584dfa948dfbbd737d"
},
"downloads": -1,
"filename": "kospex-0.0.19-py3-none-any.whl",
"has_sig": false,
"md5_digest": "28fd2c9f31bd936359c75e409fc408d8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 426495,
"upload_time": "2025-07-09T03:14:49",
"upload_time_iso_8601": "2025-07-09T03:14:49.402062Z",
"url": "https://files.pythonhosted.org/packages/2f/3b/92a7e91be462bc9a8ab77f8bcb25aff5c994c031cf4cde944b4534c627c8/kospex-0.0.19-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a0598e82581e2ed662aa40b6eb0b75f12e5bc16836823606a4897b71f009bac1",
"md5": "11fb08918195ffc1d9b5cb956e549a21",
"sha256": "49579b014ad8123fd77785ea7c9f68ea6dcdabc283537308ea11b91d95411198"
},
"downloads": -1,
"filename": "kospex-0.0.19.tar.gz",
"has_sig": false,
"md5_digest": "11fb08918195ffc1d9b5cb956e549a21",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 389212,
"upload_time": "2025-07-09T03:14:51",
"upload_time_iso_8601": "2025-07-09T03:14:51.282601Z",
"url": "https://files.pythonhosted.org/packages/a0/59/8e82581e2ed662aa40b6eb0b75f12e5bc16836823606a4897b71f009bac1/kospex-0.0.19.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-09 03:14:51",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kospex",
"github_project": "kospex",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "annotated-types",
"specs": [
[
"==",
"0.7.0"
]
]
},
{
"name": "anyio",
"specs": [
[
"==",
"4.9.0"
]
]
},
{
"name": "blinker",
"specs": [
[
"==",
"1.9.0"
]
]
},
{
"name": "build",
"specs": [
[
"==",
"1.2.2.post1"
]
]
},
{
"name": "certifi",
"specs": [
[
"==",
"2025.6.15"
]
]
},
{
"name": "cffi",
"specs": [
[
"==",
"1.17.1"
]
]
},
{
"name": "charset-normalizer",
"specs": [
[
"==",
"3.4.2"
]
]
},
{
"name": "click",
"specs": [
[
"==",
"8.2.1"
]
]
},
{
"name": "click-default-group",
"specs": [
[
"==",
"1.2.4"
]
]
},
{
"name": "cryptography",
"specs": [
[
"==",
"45.0.5"
]
]
},
{
"name": "dateutils",
"specs": [
[
"==",
"0.6.12"
]
]
},
{
"name": "Deprecated",
"specs": [
[
"==",
"1.2.18"
]
]
},
{
"name": "docutils",
"specs": [
[
"==",
"0.21.2"
]
]
},
{
"name": "fastapi",
"specs": [
[
"==",
"0.116.0"
]
]
},
{
"name": "Flask",
"specs": [
[
"==",
"3.1.1"
]
]
},
{
"name": "ghp-import",
"specs": [
[
"==",
"2.1.0"
]
]
},
{
"name": "h11",
"specs": [
[
"==",
"0.16.0"
]
]
},
{
"name": "id",
"specs": [
[
"==",
"1.5.0"
]
]
},
{
"name": "idna",
"specs": [
[
"==",
"3.10"
]
]
},
{
"name": "itsdangerous",
"specs": [
[
"==",
"2.2.0"
]
]
},
{
"name": "jaraco.classes",
"specs": [
[
"==",
"3.4.0"
]
]
},
{
"name": "jaraco.context",
"specs": [
[
"==",
"6.0.1"
]
]
},
{
"name": "jaraco.functools",
"specs": [
[
"==",
"4.2.1"
]
]
},
{
"name": "Jinja2",
"specs": [
[
"==",
"3.1.6"
]
]
},
{
"name": "keyring",
"specs": [
[
"==",
"25.6.0"
]
]
},
{
"name": "kospex",
"specs": [
[
"==",
"0.0.18"
]
]
},
{
"name": "Markdown",
"specs": [
[
"==",
"3.8.2"
]
]
},
{
"name": "markdown-it-py",
"specs": [
[
"==",
"3.0.0"
]
]
},
{
"name": "MarkupSafe",
"specs": [
[
"==",
"3.0.2"
]
]
},
{
"name": "mdurl",
"specs": [
[
"==",
"0.1.2"
]
]
},
{
"name": "mergedeep",
"specs": [
[
"==",
"1.3.4"
]
]
},
{
"name": "mkdocs",
"specs": [
[
"==",
"1.6.1"
]
]
},
{
"name": "mkdocs-get-deps",
"specs": [
[
"==",
"0.2.0"
]
]
},
{
"name": "more-itertools",
"specs": [
[
"==",
"10.7.0"
]
]
},
{
"name": "nh3",
"specs": [
[
"==",
"0.2.21"
]
]
},
{
"name": "packaging",
"specs": [
[
"==",
"25.0"
]
]
},
{
"name": "panopticas",
"specs": [
[
"==",
"0.0.10"
]
]
},
{
"name": "pathspec",
"specs": [
[
"==",
"0.12.1"
]
]
},
{
"name": "platformdirs",
"specs": [
[
"==",
"4.3.8"
]
]
},
{
"name": "pluggy",
"specs": [
[
"==",
"1.6.0"
]
]
},
{
"name": "prettytable",
"specs": [
[
"==",
"3.16.0"
]
]
},
{
"name": "pycparser",
"specs": [
[
"==",
"2.22"
]
]
},
{
"name": "pydantic",
"specs": [
[
"==",
"2.11.7"
]
]
},
{
"name": "pydantic_core",
"specs": [
[
"==",
"2.33.2"
]
]
},
{
"name": "PyGithub",
"specs": [
[
"==",
"2.6.1"
]
]
},
{
"name": "Pygments",
"specs": [
[
"==",
"2.19.2"
]
]
},
{
"name": "PyJWT",
"specs": [
[
"==",
"2.10.1"
]
]
},
{
"name": "PyNaCl",
"specs": [
[
"==",
"1.5.0"
]
]
},
{
"name": "pyproject_hooks",
"specs": [
[
"==",
"1.2.0"
]
]
},
{
"name": "python-dateutil",
"specs": [
[
"==",
"2.9.0.post0"
]
]
},
{
"name": "python-dotenv",
"specs": [
[
"==",
"1.1.1"
]
]
},
{
"name": "python-multipart",
"specs": [
[
"==",
"0.0.20"
]
]
},
{
"name": "pytz",
"specs": [
[
"==",
"2025.2"
]
]
},
{
"name": "PyYAML",
"specs": [
[
"==",
"6.0.2"
]
]
},
{
"name": "pyyaml_env_tag",
"specs": [
[
"==",
"1.1"
]
]
},
{
"name": "readme_renderer",
"specs": [
[
"==",
"44.0"
]
]
},
{
"name": "requests",
"specs": [
[
"==",
"2.32.4"
]
]
},
{
"name": "requests-toolbelt",
"specs": [
[
"==",
"1.0.0"
]
]
},
{
"name": "rfc3986",
"specs": [
[
"==",
"2.0.0"
]
]
},
{
"name": "rich",
"specs": [
[
"==",
"14.0.0"
]
]
},
{
"name": "six",
"specs": [
[
"==",
"1.17.0"
]
]
},
{
"name": "sniffio",
"specs": [
[
"==",
"1.3.1"
]
]
},
{
"name": "sqlite-fts4",
"specs": [
[
"==",
"1.0.3"
]
]
},
{
"name": "sqlite-utils",
"specs": [
[
"==",
"3.38"
]
]
},
{
"name": "starlette",
"specs": [
[
"==",
"0.46.2"
]
]
},
{
"name": "tabulate",
"specs": [
[
"==",
"0.9.0"
]
]
},
{
"name": "twine",
"specs": [
[
"==",
"6.1.0"
]
]
},
{
"name": "typing-inspection",
"specs": [
[
"==",
"0.4.1"
]
]
},
{
"name": "typing_extensions",
"specs": [
[
"==",
"4.14.1"
]
]
},
{
"name": "urllib3",
"specs": [
[
"==",
"2.5.0"
]
]
},
{
"name": "uvicorn",
"specs": [
[
"==",
"0.35.0"
]
]
},
{
"name": "watchdog",
"specs": [
[
"==",
"6.0.0"
]
]
},
{
"name": "wcwidth",
"specs": [
[
"==",
"0.2.13"
]
]
},
{
"name": "Werkzeug",
"specs": [
[
"==",
"3.1.3"
]
]
},
{
"name": "wrapt",
"specs": [
[
"==",
"1.17.2"
]
]
}
],
"lcname": "kospex"
}