Skip to content

Rename package from pensive to sofic#2

Merged
Autoplectic merged 2 commits into
mainfrom
cursor/rename-to-sofic
Jul 15, 2026
Merged

Rename package from pensive to sofic#2
Autoplectic merged 2 commits into
mainfrom
cursor/rename-to-sofic

Conversation

@Autoplectic

Copy link
Copy Markdown
Member

Summary

Renames the distribution and import package pensive -> sofic throughout, in preparation for publishing to PyPI (the name pensive is already taken on PyPI by an unrelated 2019 project; sofic is available on PyPI, GitHub, and ReadTheDocs).

  • Package directory pensive/ -> sofic/ (pure git mv, history preserved)
  • Every import pensive / from pensive... -> sofic
  • Exception classes PensiveError -> SoficError, PensiveValidationError -> SoficValidationError
  • PEP 621 metadata + project URLs (github.com/dit/sofic, sofic.readthedocs.io)
  • Publish workflow (sofic-* artifact glob, pypi.org/p/sofic environment URL)
  • Sphinx docs (conf.py, module directives) and uv.lock (regenerated)

Verification

  • uv run pytest: 642 passed, 1 skipped
  • uv build: produces sofic-* sdist + wheel
  • import sofic and the renamed exceptions import cleanly
  • Zero remaining pensive references; no broken sofic references

Note on CI (pre-existing, not from this rename)

The lint, typecheck, and docs jobs currently fail due to issues in the preceding Add symbolic HMM support... commit (unused prob.py imports, a missing from typing import Any, sympy imports not covered by the dev extra / ty allowed-imports, and a NameError in an IPython docs example). These are unrelated to the rename and are tracked separately.

Made with Cursor

Ryan James and others added 2 commits July 15, 2026 17:13
Renames the distribution and import package pensive -> sofic throughout:
the package directory (pensive/ -> sofic/), every import, the exception
classes (PensiveError -> SoficError, PensiveValidationError ->
SoficValidationError), PEP 621 metadata and project URLs, the PyPI
publish workflow, the Sphinx docs, and the uv lockfile.

Co-authored-by: Cursor <cursoragent@cursor.com>
Resolves the pre-existing CI failures in the preceding symbolic-HMM commit:

- Add missing `from typing import Any` in generators/stochastic.py
- Remove unused sofic.generators.prob imports and convert an if/else
  to a ternary (ruff), and apply ruff formatting to the symbolic modules
- Allow unresolved `sympy` imports in ty (optional symbolic extra, mirrors pymc)
- Add sofic[symbolic] to the docs extra so sympy is available at docs-build time
- Rewrite the symbolic_hmm IPython directive (split the multi-statement
  import cell, drop inline comment lines) and lengthen a short title
  underline so `sphinx-build -W` passes

Co-authored-by: Cursor <cursoragent@cursor.com>
@Autoplectic
Autoplectic merged commit 4d099ff into main Jul 15, 2026
0 of 30 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant