Skip to content

Project name change for investing-algorithm-framework #285

@MDUYN

Description

@MDUYN

Project name change for investing-algorithm-framework

Summary

The current project name, investing-algorithm-framework, is descriptive
but long, generic, and hard to brand. As the project grows (vector
backtesting, content-aware checkpoints, deployment tooling, MCP server,
notebook integration, …) a sharper, shorter name will help with adoption,
discoverability, and identity.

This issue tracks the decision, the rename itself, and the migration plan.

Why rename

Problems with the current name

  • Length: 31 characters, 3 words. Painful in imports, install
    commands, repo URLs, social posts, and conversation:
    • pip install investing-algorithm-framework
    • from investing_algorithm_framework import ...
  • Generic / unbrandable: it describes a category rather than a
    product. Hard to build identity, logo, talks, or merch around.
  • Slightly off-tone: "investing" suggests long-horizon investing,
    while the framework is primarily an algorithmic trading +
    backtesting + deployment
    framework. This may also hurt discovery
    for users searching "algorithmic trading framework".
  • SEO collision: matches a lot of generic content (tutorials,
    articles) that we can never outrank.

What good comparables look like: zipline, backtrader,
vectorbt, nautilus, lean, freqtrade — all short, memorable,
brandable, easy to say in a sentence.

Goals for the new name

  • Short (1–2 syllables, ≤ ~10 chars).
  • Easy to say, type, and Google.
  • Distinctive: not already a popular PyPI / GitHub project.
  • Reflects what the framework actually is: algo trading,
    backtesting, deployment
    .
  • Available on:
    • PyPI
    • GitHub (coding-kitties/<name>)
    • Ideally .com / .dev domain
    • Social handles (optional)

Candidate process

  1. Brainstorm a shortlist of candidate names (≥ 5).
  2. For each candidate, verify availability:
    • pip index versions <name> / PyPI search
    • GitHub repo / org search
    • Domain availability (.com, .dev, .io)
    • Trademark sanity check
  3. Pick the top 1–2 and run a short community poll (GitHub Discussion
    or issue with reactions) before locking it in.

Migration plan

Treat this as a major-version milestone (e.g. v9.0 or v10.0),
not a sprint. The goal is no broken users.

Phase 1 — Decide

  • Shortlist + availability check.
  • Final name approved by maintainers + community input.
  • Reserve PyPI name, GitHub repo, domain, social handles.

Phase 2 — Code & package

  • Create new top-level Python package <newname>/ that
    re-exports everything from investing_algorithm_framework:
    python # <newname>/__init__.py from investing_algorithm_framework import * # noqa: F401,F403 from investing_algorithm_framework import __version__ # noqa: F401
  • Publish a new PyPI distribution <newname> that depends on /
    ships the same code.
  • Keep investing-algorithm-framework on PyPI as an alias
    (meta-package depending on <newname>) for ≥ 2 minor releases.
  • Add a DeprecationWarning when importing from the old module
    path, pointing to the new one.
  • Update pyproject.toml (project name, URLs, classifiers).

Phase 3 — Repo & infrastructure

  • Rename GitHub repository (coding-kitties/investing-algorithm-framework
    coding-kitties/<newname>). GitHub auto-redirects old URLs.
  • Update CI/CD pipeline references, badges, secrets that
    reference the old name.
  • Update Docker images / container tags if any.
  • Update Docusaurus site config + deploy target.

Phase 4 — Docs & content

  • Update README.md, AUTHORS.md, LICENSE headers (where
    relevant), CONTRIBUTING.md.
  • Update Docusaurus docs site (titles, sidebar, intro,
    installation page, all code samples).
  • Update blog posts under docusaurus/blog/ to reference the
    new name (with a note on the rename).
  • Update examples/ and examples/tutorial/ code + READMEs.
  • Update notebooks in examples/tutorial/notebooks/.
  • Update MCP server name / metadata if user-visible.

Phase 5 — Communicate

  • Release notes for the rename version with a clear migration
    guide (old import → new import).
  • Pinned GitHub Discussion / issue announcing the rename.
  • Blog post on the Docusaurus site explaining the why and the
    migration path.
  • Social media / community channel announcement.

Phase 6 — Deprecate

  • After ≥ 2 minor releases, drop the investing-algorithm-framework
    meta-package (keep the import shim slightly longer if usage
    is still significant).
  • Remove the import-time DeprecationWarning once the old
    module path is removed.

Acceptance criteria

  • A new project name is finalized, available on PyPI / GitHub / domain,
    and approved by maintainers.
  • A migration release is published that:
    • Ships under the new name.
    • Keeps the old PyPI name + import path working with a deprecation
      warning.
    • Includes a documented migration guide.
  • All in-repo references (README, docs, examples, blog, code) use the
    new name.
  • Existing users can upgrade without code changes for at least one
    release cycle.

Out of scope (for this issue)

  • Logo / visual rebrand (track separately once the name is decided).
  • Renaming internal classes / public API symbols — only the project /
    package name changes here.

Notes

  • The old name will continue to redirect on GitHub automatically once
    the repo is renamed, so external links to issues / PRs / commits
    will keep working.
  • Consider tagging v8.x as the final release under the old name so
    users have a clean LTS target if they delay migrating.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions