Local Claude Code session scorer that contributes metrics to sentiments.cc
Project description
cc-sentiment
A CLI that scores your Claude Code conversations on-device and contributes aggregate numbers to an open dashboard at sentiments.cc.
Your conversations stay on your device. Only signed aggregate numeric scores are uploaded; the server verifies signatures using a public key you control.
Run it
uvx cc-sentiment
Needs uv. On-device scoring uses MLX on Apple Silicon when available; on other platforms the CLI still runs setup, upload, and dashboard sharing. The first run sets up a verification key (GitHub or GPG), scores transcripts in ~/.claude/projects/, and uploads the numbers.
What gets uploaded
Scoring runs locally on Gemma 4. The client uploads only numbers and timestamps for each 5-minute bucket of a conversation.
- Sentiment score on a 1–5 scale
- Read:edit ratio, edits-without-prior-read %, write:edit ratio, tool calls per turn, subagent spawn rate
- Turn count, thinking present/chars
- Claude model and Claude Code version
- A public verification handle (GitHub username or GPG fingerprint) used only to verify signatures
Your conversation text, file contents, file paths, and tool inputs/outputs never leave your machine.
Commands
| Command | Description |
|---|---|
cc-sentiment |
Run the whole flow. Sets up if needed, then scans and uploads. |
cc-sentiment setup |
Set up a verification key (GitHub or GPG) so uploads can be signed |
cc-sentiment scan --upload |
Score new transcripts and upload |
cc-sentiment scan |
Score transcripts without uploading |
cc-sentiment upload |
Upload previously scored results |
cc-sentiment rescan |
Clear state and re-score everything |
Links
Dashboard at sentiments.cc. Source and issues live on GitHub.
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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cc_sentiment-0.2.99.tar.gz.
File metadata
- Download URL: cc_sentiment-0.2.99.tar.gz
- Upload date:
- Size: 23.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3a957f63098c803832af472c93ab2fb88b75c9f223d4d15212a8d10c7dd82e0
|
|
| MD5 |
2fd5d1127313f27c7c0d451279642bf3
|
|
| BLAKE2b-256 |
0f59a2140969d8115f455c30018b364f6867420e0b592407141a7392ca61a11b
|
Provenance
The following attestation bundles were made for cc_sentiment-0.2.99.tar.gz:
Publisher:
release-pypi.yml on yasyf/cc-sentiment
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cc_sentiment-0.2.99.tar.gz -
Subject digest:
b3a957f63098c803832af472c93ab2fb88b75c9f223d4d15212a8d10c7dd82e0 - Sigstore transparency entry: 1393442483
- Sigstore integration time:
-
Permalink:
yasyf/cc-sentiment@4e476399e62f342406498b5fab169cc9cddfd33d -
Branch / Tag:
refs/heads/main - Owner: https://github.com/yasyf
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@4e476399e62f342406498b5fab169cc9cddfd33d -
Trigger Event:
push
-
Statement type:
File details
Details for the file cc_sentiment-0.2.99-cp313-abi3-win_amd64.whl.
File metadata
- Download URL: cc_sentiment-0.2.99-cp313-abi3-win_amd64.whl
- Upload date:
- Size: 24.1 MB
- Tags: CPython 3.13+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0f971bd987cb8453938892d8ebbfb5a1e3ea6a8c2009348a283192a3f811aba
|
|
| MD5 |
4ebe55599d990c61fb6bd09f529a838d
|
|
| BLAKE2b-256 |
660b323bf481f134031b2d7156f89372a3739f0792cb9bf38b5c0bad4981b954
|
Provenance
The following attestation bundles were made for cc_sentiment-0.2.99-cp313-abi3-win_amd64.whl:
Publisher:
release-pypi.yml on yasyf/cc-sentiment
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cc_sentiment-0.2.99-cp313-abi3-win_amd64.whl -
Subject digest:
d0f971bd987cb8453938892d8ebbfb5a1e3ea6a8c2009348a283192a3f811aba - Sigstore transparency entry: 1393442512
- Sigstore integration time:
-
Permalink:
yasyf/cc-sentiment@4e476399e62f342406498b5fab169cc9cddfd33d -
Branch / Tag:
refs/heads/main - Owner: https://github.com/yasyf
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@4e476399e62f342406498b5fab169cc9cddfd33d -
Trigger Event:
push
-
Statement type:
File details
Details for the file cc_sentiment-0.2.99-cp313-abi3-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: cc_sentiment-0.2.99-cp313-abi3-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 24.2 MB
- Tags: CPython 3.13+, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3531f679953d45890da1b6516c8c17d5fc863c2034d94adf3b830b08b3d87b9c
|
|
| MD5 |
5769a36b95d25785c8aa1ac00204c710
|
|
| BLAKE2b-256 |
5dfb1e25e3b3f9018260e5fb6e96b9f26f281b44131c73791541548882214e31
|
Provenance
The following attestation bundles were made for cc_sentiment-0.2.99-cp313-abi3-manylinux_2_28_x86_64.whl:
Publisher:
release-pypi.yml on yasyf/cc-sentiment
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cc_sentiment-0.2.99-cp313-abi3-manylinux_2_28_x86_64.whl -
Subject digest:
3531f679953d45890da1b6516c8c17d5fc863c2034d94adf3b830b08b3d87b9c - Sigstore transparency entry: 1393442501
- Sigstore integration time:
-
Permalink:
yasyf/cc-sentiment@4e476399e62f342406498b5fab169cc9cddfd33d -
Branch / Tag:
refs/heads/main - Owner: https://github.com/yasyf
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@4e476399e62f342406498b5fab169cc9cddfd33d -
Trigger Event:
push
-
Statement type:
File details
Details for the file cc_sentiment-0.2.99-cp313-abi3-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: cc_sentiment-0.2.99-cp313-abi3-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 24.1 MB
- Tags: CPython 3.13+, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e70a21f835696627205c229c5562bcdd70938addb4c3eb99403a59ecd876c976
|
|
| MD5 |
db1a277a3a85c3a374d4d630a66114bc
|
|
| BLAKE2b-256 |
19004f8dab1979809dfa87faa667a69607450be3cf22cbe4c9970cd2fe823da8
|
Provenance
The following attestation bundles were made for cc_sentiment-0.2.99-cp313-abi3-manylinux_2_28_aarch64.whl:
Publisher:
release-pypi.yml on yasyf/cc-sentiment
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cc_sentiment-0.2.99-cp313-abi3-manylinux_2_28_aarch64.whl -
Subject digest:
e70a21f835696627205c229c5562bcdd70938addb4c3eb99403a59ecd876c976 - Sigstore transparency entry: 1393442524
- Sigstore integration time:
-
Permalink:
yasyf/cc-sentiment@4e476399e62f342406498b5fab169cc9cddfd33d -
Branch / Tag:
refs/heads/main - Owner: https://github.com/yasyf
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@4e476399e62f342406498b5fab169cc9cddfd33d -
Trigger Event:
push
-
Statement type:
File details
Details for the file cc_sentiment-0.2.99-cp313-abi3-macosx_11_0_x86_64.whl.
File metadata
- Download URL: cc_sentiment-0.2.99-cp313-abi3-macosx_11_0_x86_64.whl
- Upload date:
- Size: 24.1 MB
- Tags: CPython 3.13+, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e4edd24a20498ec5146b7b8f9c0c30fa82bfbb90ff0cff788b68df57fdc594f
|
|
| MD5 |
0645ce4ce349e3e7ed46fd5d53101751
|
|
| BLAKE2b-256 |
046a171f81843d57438a085c5676267d9d05d9c283a575b1881eca65c856862a
|
Provenance
The following attestation bundles were made for cc_sentiment-0.2.99-cp313-abi3-macosx_11_0_x86_64.whl:
Publisher:
release-pypi.yml on yasyf/cc-sentiment
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cc_sentiment-0.2.99-cp313-abi3-macosx_11_0_x86_64.whl -
Subject digest:
3e4edd24a20498ec5146b7b8f9c0c30fa82bfbb90ff0cff788b68df57fdc594f - Sigstore transparency entry: 1393442518
- Sigstore integration time:
-
Permalink:
yasyf/cc-sentiment@4e476399e62f342406498b5fab169cc9cddfd33d -
Branch / Tag:
refs/heads/main - Owner: https://github.com/yasyf
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@4e476399e62f342406498b5fab169cc9cddfd33d -
Trigger Event:
push
-
Statement type:
File details
Details for the file cc_sentiment-0.2.99-cp313-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: cc_sentiment-0.2.99-cp313-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 24.0 MB
- Tags: CPython 3.13+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fead474003924575b0dc0cec7d4464e010b6b3ad0ae9c8b682518c96469e0ad3
|
|
| MD5 |
b98befafe26cc95c5ce3408728639bcb
|
|
| BLAKE2b-256 |
ed4c392ff0aa53e9abd3c6ef569d2cfc08ede7c7a0308574a880b56c98cf1214
|
Provenance
The following attestation bundles were made for cc_sentiment-0.2.99-cp313-abi3-macosx_11_0_arm64.whl:
Publisher:
release-pypi.yml on yasyf/cc-sentiment
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cc_sentiment-0.2.99-cp313-abi3-macosx_11_0_arm64.whl -
Subject digest:
fead474003924575b0dc0cec7d4464e010b6b3ad0ae9c8b682518c96469e0ad3 - Sigstore transparency entry: 1393442489
- Sigstore integration time:
-
Permalink:
yasyf/cc-sentiment@4e476399e62f342406498b5fab169cc9cddfd33d -
Branch / Tag:
refs/heads/main - Owner: https://github.com/yasyf
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@4e476399e62f342406498b5fab169cc9cddfd33d -
Trigger Event:
push
-
Statement type: