• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

CodeReclaimers / neat-python
87%

Build:
DEFAULT BRANCH: master
Repo Added 13 Dec 2015 07:41PM UTC
Files 30
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH master
branch: master
CHANGE BRANCH
x
Reset
  • master
  • fix-restored-reporters
  • mstechly-master
  • v0.6
  • v0.7
  • v0.9
  • v0.91
  • v0.92

08 May 2026 08:50PM UTC coverage: 87.003% (+0.1%) from 86.868%
25578897946

push

github

CodeReclaimers
Fix bugs surfaced by audit: pickling, empty-input, config validation

Severity-ordered fixes from a bug audit of v2.1.0:

H1/H2 — Checkpoint pickling silently consumed counters
  DefaultGenomeConfig.__getstate__ and DefaultSpeciesSet.__getstate__ called
  next() on the live itertools.count, so every pickle.dumps(...) (i.e. every
  Checkpointer save) skipped one node id and one species id in the running
  process. Now we peek-by-rewind: consume, save the value, then reset the
  counter to start from that same value, leaving the live state unchanged.

H3 — math_util empties raised ZeroDivisionError
  mean/variance/stdev now return nan on empty input; softmax returns []
  on empty input and falls back to a uniform distribution when all exp()
  values underflow to 0. Aggregation callers in neat/aggregations.py
  already guard before calling, so this is a strict relaxation.

H4 — best_genome() raised opaque IndexError
  StatisticsReporter.best_genome() now raises RuntimeError with a clear
  message when called before any generation has been evaluated.

M1 — time_constant_min_value <= 0 now rejected at config load
  CTRNN integration uses exp(-dt/tau); a non-positive minimum would
  divide by zero or flip the decay sign mid-simulation. Validate at
  Config(...) instead.

M4 — Typos in [DefaultGenome] gene-attribute keys silently accepted
  DefaultGenomeConfig.__init__ now mirrors DefaultClassConfig and raises
  UnknownConfigItemError when a key in the section is not in the gene
  attribute schema (e.g. bias_init_typ instead of bias_init_type).

L1 — Added regression test that the innovation tracker counter continues
  monotonically across checkpoint restore (no reset, no skip-ahead).

L3 — GPU activation kernel: unknown activation id now emits NaN instead
  of silently falling back to identity. _padding.py validates upstream so
  this branch is unreachable in practice, but a future ACTIVATION_IDS
  entry without a matching kernel branch would otherwise prod... (continued)

32 of 33 new or added lines in 4 files covered. (96.97%)

2209 of 2539 relevant lines covered (87.0%)

0.87 hits per line

Relevant lines Covered
Build:
Build:
2539 RELEVANT LINES 2209 COVERED LINES
0.87 HITS PER LINE
Source Files on master
  • Tree
  • List 30
  • Changed 6
  • Source Changed 0
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
25578897946 master Fix bugs surfaced by audit: pickling, empty-input, config validation Severity-ordered fixes from a bug audit of v2.1.0: H1/H2 — Checkpoint pickling silently consumed counters DefaultGenomeConfig.__getstate__ and DefaultSpeciesSet.__getstate__ ... push 08 May 2026 08:51PM UTC CodeReclaimers github
87.0
24268607044 master Fix flaky test_remove_node_deletes_node surfaced by PyPy CI mutate_delete_node invokes _prune_dangling_nodes after removing the chosen hidden node, so any other hidden node that can no longer reach an output is pruned along with its connections. ... push 10 Apr 2026 11:21PM UTC CodeReclaimers github
86.87
24268291745 master Document activation/aggregation behavior found by adversarial review Add a scaling, clamping, and special-case reference table to docs/activation.rst covering the 9 activation functions that deviate from their canonical textbook forms. Previously... push 10 Apr 2026 11:10PM UTC CodeReclaimers github
86.87
24263143819 master Fix mutate_add_node innovation deduplication (issue #291) The dedup key included the newly-allocated node ID, which is always unique, so the tracker lookup never matched across genomes. Key by the original connection endpoints instead via a new g... push 10 Apr 2026 08:40PM UTC CodeReclaimers github
86.86
23816527970 master Fix PyPy build failures: handle float overflow without OverflowError PyPy follows IEEE 754 strictly and produces inf instead of raising OverflowError on float overflow. Add an isfinite() guard after the Izhikevich neuron voltage update so the ove... push 31 Mar 2026 07:53PM UTC CodeReclaimers github
86.8
23790688058 master Bump version to 2.1.0 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> push 31 Mar 2026 09:37AM UTC CodeReclaimers github
86.86
23790610368 master Update documentation to match current implementation - CHANGELOG: Add fitness_criterion fix, checkpoint/reporter timing changes, CTRNN double-buffer fix, aggregation validation fix. Remove dead GPU_DESIGN_NOTES.md reference. - installation.rs... push 31 Mar 2026 09:35AM UTC CodeReclaimers github
86.86
23790165495 master Add What's New in 2.1 section to README Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> push 31 Mar 2026 09:25AM UTC CodeReclaimers github
86.86
23790058548 master Fix reporter generation mismatch and checkpoint lost-work problem Reporter fix (#273): Moved species detail reporting from end_generation to post_evaluate in StdOutReporter. Species info now matches the evaluated population rather than the post-r... push 31 Mar 2026 09:22AM UTC CodeReclaimers github
86.86
23789376172 master Remove CLAUDE.md from version control and .gitignore it CLAUDE.md contains local Claude Code project instructions that are specific to the maintainer's workflow, not relevant to users. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthro... push 31 Mar 2026 09:05AM UTC CodeReclaimers github
86.85
See All Builds (363)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc