Remove legacy v1 SDK code, tests, and documentation#208
Remove legacy v1 SDK code, tests, and documentation#208dzimine-lc wants to merge 1 commit intocli-v2from
Conversation
The v2 SDK and CLI are fully independent of the legacy v1 code. This removes all legacy modules to make a clean break for the 5.0 release. - Delete 26 legacy PascalCase domain modules (Manager.py, Sensor.py, etc.) - Delete 6 legacy-only utility files (utils.py, request_utils.py, etc.) - Rewrite __init__.py to only re-export __version__ from client.py - Delete 9 legacy unit tests and 8 legacy integration tests - Update test_user_agent.py to use build_user_agent() directly - Rename integration test_v2_*.py → test_*.py - Remove legacy v1 SDK section and migration table from README - Update CLAUDE.md to reflect single-SDK architecture Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Prompt used: Remove legacy supportGoal: remove all legacy code from the new branch. ContextThis is a rewrite of the LC CLI and SDK. The old version is on Problem statementWe want a complete break from the old version, per NEW_CLI.md. But currently the legacy is still supported in the new CLI.
and we have duplicate files for everything, carrying in old code with python 2 support, which is NOT what we want.
|
Summary
__init__.pyto a minimal v2-only re-export of__version__test_user_agent.pyto usebuild_user_agent()fromuser_agent_utilsdirectlytest_v2_*.py→test_*.pyContext (from implementation plan)
The
cli-v2branch is a complete rewrite of the LimaCharlie Python SDK and CLI. The v2 code (limacharlie/sdk/,limacharlie/commands/, core modules) is fully independent and does not import any legacy v1 code. However, the legacy v1 classes (Manager, Sensor, Firehose, etc.) were still bundled in the package and exported fromlimacharlie/__init__.pyfor backward compatibility. This PR makes a clean break — removing all legacy code, tests, and documentation.Key finding
v2 has zero imports from legacy modules. The only shared files are utility modules that v2 uses directly and are kept:
user_agent_utils.py(used byclient.py)oauth_simple.py(used byclient.py)oauth_firebase_simple.py(used bycommands/auth.py,oauth_simple.py)oauth_mfa.py(used byoauth_firebase_simple.py)oauth_server.py(used byoauth_firebase_simple.py)signup.py(used bycommands/auth.py)constants.py(used byoauth_firebase_simple.py,signup.py)Deleted legacy source files (32 files)
26 PascalCase domain modules:
Manager.py,Sensor.py,Firehose.py,Spout.py,Sync.py,Configs.py,Search.py,SearchAPI.py,Hive.py,Logs.py,Payloads.py,Replay.py,Billing.py,Extensions.py,Jobs.py,Webhook.py,WebhookSender.py,User.py,UserPreferences.py,ARL.py,DRCli.py,Query.py,Model.py,USP.py,SpotCheck.py,Replicants.py6 legacy-only utility files:
utils.py,request_utils.py,term_utils.py,time_utils.py,versions.py,oauth.pyRewritten
__init__.pyOld: 82 lines exporting all legacy classes, defining
__version__ = "4.11.3",_getEnvironmentCreds(), andGLOBAL_*variables.New: minimal, just re-exports
__version__fromclient.py(5.0.0).Deleted legacy tests (17 files)
9 unit tests:
test_search_api.py,test_search_api_extended.py,test_ssl_context.py,test_query.py,test_requests_utils.py,test_term_utils.py,test_time_utils.py,test_usp.py,test_configs.py8 integration tests:
test_core.py,test_hive_validation.py,test_search_api_integration.py,test_sync.py,test_replicants.py,test_insight.py,test_artifacts.py,test_spout.pyFiles NOT touched (v2 core)
limacharlie/cli.py,client.py,config.py,errors.py,output.py,discovery.pylimacharlie/ai_help.py,help_topics.py,__main__.pylimacharlie/user_agent_utils.py,constants.pylimacharlie/oauth_simple.py,oauth_firebase_simple.py,oauth_mfa.py,oauth_server.pylimacharlie/signup.pylimacharlie/sdk/(32 files)limacharlie/commands/(46 files)pyproject.tomlTest plan
python -c "import limacharlie; print(limacharlie.__version__)"→ 5.0.0python -c "from limacharlie.client import Client; print('OK')"→ OKpython -c "from limacharlie.sdk.organization import Organization; print('OK')"→ OKlimacharlie --version→ 5.0.0pytest tests/unit/ -v→ 672 passed, 2 skipped🤖 Generated with Claude Code