docs: complete metadata, citation, troubleshooting and accuracy docs - #1302
Open
davidberenstein1957 wants to merge 1 commit into
Open
docs: complete metadata, citation, troubleshooting and accuracy docs#1302davidberenstein1957 wants to merge 1 commit into
davidberenstein1957 wants to merge 1 commit into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1302 +/- ##
==========================================
+ Coverage 91.43% 91.77% +0.33%
==========================================
Files 49 49
Lines 5057 5058 +1
==========================================
+ Hits 4624 4642 +18
+ Misses 433 416 -17 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
A batch of documentation and project-metadata work, squashed into one commit. New material: a troubleshooting guide, an accuracy page, an alternatives comparison, a development guide split out of the overflowing contributing page, a maintainers guide, a deprecations reference, `CITATION.cff`, an OpenGraph card, and a structured issue-template form replacing the freeform feature request. Corrections against the code rather than against the old prose: stale psys claims in `rapl.md`, the estimation-chain reference, both `cpu_load` power models, `force_cpu_power`, the real RAPL option names, the `cpu_load` provenance row and field order, AMDSMI credited alongside NVML in the source table, and the opening formula reconciled with PUE. AMD multi-die summing is flagged as an open question (#1379) instead of asserted. Output fields gain a provenance column so each one says where its number comes from. Removals: the blog surface (the website already has one) and `CHANGELOG.md`, with releases pointed at GitHub; redundant pages and prose; the black and ruff version pins, keeping the black target. Also covered: tests for the RAPL permission help, the task decorator, and README links (skipped when the file is absent), plus a note recording why the API token lookup value is SHA-256. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
davidberenstein1957
force-pushed
the
docs/traction-batch
branch
from
August 20, 2026 06:15
a3148a3 to
ef78901
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #1301.
Implements all twelve documentation and traction items.
uv run task docsbuilds clean and the internal link check passes (5246 attributes);tests/test_cpu.py,test_emissions_tracker.pyand the new link test pass (76 passed, 2 skipped). Ruff error count is unchanged from master.What is in here
Packaging and citation
pyproject.toml:description, 15keywords, 19classifiers;ChangelogURL now points at the docs.bumpveralso patternsCITATION.cff.CITATION.cffand a rewritten README citation section using the Zenodo concept DOI10.5281/zenodo.4658424, which tracks the latest release instead of pinning v2.4.1.docs/index.mdcitation link updated to the same DOI.Discoverability
examples/README.mdrewritten as a categorised index. Every filename checked againstls examples/, every symbol againstcodecarbon/__init__.py— noCO2Tracker, no@track_co2. The duplicated table indocs/how-to/examples.mdis gone; that page now points at the canonical index. Newtests/test_readme_links.pyasserts relative links resolve.docs/how-to/troubleshooting.md, keyed to log lines that were each grepped out of the current source.cpu.pynow appends a docs URL to the RAPL-permission and unknown-CPU warnings via one shared constant, so the three call sites cannot drift apart. The two linked anchors are pinned with explicit{ #... }ids.Supporting our claims
docs/explanation/alternatives.mdanddocs/explanation/accuracy.md. The accuracy figures are computed from CSVs already committed in this repo (codecarbon/data/hardware/cpu_load_profiling/) — the TDP estimate deviates from RAPL by up to roughly a factor of two in either direction depending on CPU and load. Per-backend accuracy and wall-socket validation are marked "not yet measured" rather than estimated. Competitor facts (licence, language, archive status) were pulled from the GitHub API; no maintenance judgements, and "peer-reviewed" softened to "accompanying academic paper" where the venue was not verified.methodology.mdgains a real bibliography (foundational work, hardware measurement, carbon-intensity sources, citing CodeCarbon). The personal blog post is demoted to a supporting walkthrough behind Khan et al. and Weaver; the open GitHub issue is relabelled as a tracked limitation, with Intel's own page cited for the Power Gadget discontinuation.Contribution and release surface
.mdtemplates. The bug form requirescodecarbon detectoutput (command verified to exist);config.ymldisables blank issues and links Discord, troubleshooting, FAQ and docs.contributing.mdsplit into a 95-line contributor page,how-to/development.md, andmaintaining.md. Nothing dropped — content moved. The stray</a>in four headings and the hand-maintained TOC markers are gone.CHANGELOG.mdat the repo root, holding both the user-facing changelog and the deprecations/migrations table; theChangelogproject URL points at the GitHub releases page. No changelog or deprecations page in the docs site, and no blog surface — codecarbon.io already has one. Entries are sourced fromgh release viewbodies andgit log; deprecation "since" versions fromgit log -Splusgit tag --contains.release-drafter.ymlnow resolves the version instead of always bumping the patch.overrides/main.html(Zensical emits none, and supportscustom_dir— no Cairo dependency, no workflow change), five footer links, andstart()/stop()/flush()/task-tracking now rendering in the API reference. Two malformed:param:directives intrack_task_emissionsfixed, since griffe now publishes them.Worth a maintainer's eye before merge
CITATION.cffauthor list. Names come from the existing README BibTeX with unresolved handles dropped, plus a collective "The CodeCarbon contributors" entry. This is a social decision, not a technical one — please confirm.21(248).scripts/check_docs_links.py site --externalrun.date-releasedinCITATION.cffstill needs a manual touch at release time; bumpver only patterns the version line.maintaining.mdshould gain a "move Unreleased under the new version" step; the changelog page is otherwise a manual artefact.🤖 Generated with Claude Code