{"id":23999,"library":"lunchable-splitlunch","title":"lunchable-splitlunch","description":"Integration between LunchMoney and Splitwise. Synchronizes split transactions from Splitwise into LunchMoney. Requires Python >=3.9 and <4. Current version 1.1.0. Release cadence: irregular, with last release in August 2025.","status":"active","version":"1.1.0","language":"python","source_language":"en","source_url":"https://github.com/juftin/lunchable-splitlunch","tags":["finance","integration","splitwise","lunchmoney"],"install":[{"cmd":"pip install lunchable-splitlunch","lang":"bash","label":"PyPI"}],"dependencies":[{"reason":"Core integration with LunchMoney API","package":"lunchable","optional":false},{"reason":"Core integration with Splitwise API","package":"splitwise","optional":false}],"imports":[{"note":"Hyphens are not valid in Python module names; use underscores.","wrong":"from lunchable-splitlunch import splitlunch","symbol":"splitlunch","correct":"from lunchable_splitlunch import splitlunch"},{"note":"The CLI entry point is the `main` function.","wrong":"import lunchable_splitlunch.cli as main","symbol":"main","correct":"from lunchable_splitlunch.cli import main"}],"quickstart":{"code":"import os\nfrom lunchable_splitlunch import splitlunch\n\n# Set environment variables or pass directly\nsplitwise_consumer_key = os.environ.get('SPLITWISE_CONSUMER_KEY', '')\nsplitwise_consumer_secret = os.environ.get('SPLITWISE_CONSUMER_SECRET', '')\nlunchmoney_access_token = os.environ.get('LUNCHMONEY_ACCESS_TOKEN', '')\n\n# Run synchronization\nsplitlunch.run(\n    splitwise_consumer_key=splitwise_consumer_key,\n    splitwise_consumer_secret=splitwise_consumer_secret,\n    lunchmoney_access_token=lunchmoney_access_token\n)","lang":"python","description":"Basic usage: synchronize Splitwise transactions to LunchMoney."},"warnings":[{"fix":"Upgrade to >=1.0.1 and use underscores in imports.","message":"In v1.0.0, the import path was `lunchable_splitlunch` but the package name had a hyphen. v1.0.1 fixed imports so that `from lunchable_splitlunch import splitlunch` works correctly.","severity":"breaking","affected_versions":"<=1.0.0"},{"fix":"Ensure Splitwise transactions have complete data before syncing. Check logs for missing fields.","message":"TransactionInsertObject validation errors can occur if required fields (like payee, date, amount) are missing or invalid from Splitwise data.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use `from lunchable_splitlunch import splitlunch` (underscores).","cause":"Trying to import using hyphens instead of underscores.","error":"ModuleNotFoundError: No module named 'lunchable-splitlunch'"},{"fix":"Ensure all required fields are present in the Splitwise expense. Add fallback values if needed.","cause":"A required field (like payee, date, amount) is missing from the Splitwise transaction when trying to insert into LunchMoney.","error":"pydantic.error_wrappers.ValidationError: 1 validation error for TransactionInsertObject"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}