Where Does Meltano Store Project and State?
Meltano keeps config in meltano.yml at the project root and runtime state in .meltano/, including the SQLite system database. Layout and git rules.
Last updated
Meltano splits project files by intent. meltano.yml at the root holds versioned configuration and belongs in git. Everything runtime specific lives in .meltano/ inside the same project: the meltano.db system database, run logs, generated plugin configs and plugin virtualenvs.
The .meltano directory is gitignored by default for good reason. It is environment state, not source. Copying it between machines causes more problems than it solves. State files per pipeline live under run/, which is how Meltano resumes interrupted syncs.
Where Meltano stores this, by platform
<project>/meltano.yml and <project>/.meltano
meltano.yml plus .env for secrets. .meltano/ beside it holds meltano.db, logs/, run/ and per plugin venvs. MELTANO_PROJECT_ROOT and MELTANO_SYS_DIR_ROOT override the locations when needed.
<project>/meltano.yml and <project>/.meltano
Same project relative layout on Mac. Plugin venvs under .meltano make fresh clones slow on first meltano install, which is normal.
Frequently asked questions
What belongs in git?
Commit meltano.yml, requirements and plugin lock files. Leave .meltano/ out: it holds the SQLite system database, logs, generated plugin configs and virtualenvs, all environment specific. Fresh clones need meltano install before any other command.
How do I handle logs and database growth?
Symlink .meltano/logs elsewhere or set the database_uri setting to Postgres. Containers should always use an external database, since .meltano/meltano.db inside a container vanishes with it.
Notice an outdated path? Let us know.