{"id":22172977,"url":"https://github.com/G-Research/fasttrackml","last_synced_at":"2025-07-26T14:31:30.141Z","repository":{"id":150671669,"uuid":"621407878","full_name":"G-Research/fasttrackml","owner":"G-Research","description":"Experiment tracking server focused on speed and scalability","archived":false,"fork":false,"pushed_at":"2024-10-29T03:21:42.000Z","size":6138,"stargazers_count":98,"open_issues_count":71,"forks_count":19,"subscribers_count":14,"default_branch":"main","last_synced_at":"2024-10-29T17:27:20.049Z","etag":null,"topics":["ai","apache-spark","data-science","data-visualization","experiment-tracking","machine-learning","metadata","metadata-tracking","metrics","ml","mlflow","mlflow-tracking-server","mlops","pytorch","tensorboard","tensorflow","visualization"],"latest_commit_sha":null,"homepage":"https://fasttrackml.io/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/G-Research.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-30T15:46:08.000Z","updated_at":"2024-10-04T16:26:24.000Z","dependencies_parsed_at":"2023-12-20T13:23:47.262Z","dependency_job_id":"c3a05ecf-b428-49eb-ac38-b7882c3c1fe3","html_url":"https://github.com/G-Research/fasttrackml","commit_stats":{"total_commits":739,"total_committers":14,"mean_commits":"52.785714285714285","dds":"0.48579161028416784","last_synced_commit":"99c4b9165cd4f260d3287d80a6893139766d0e11"},"previous_names":["g-research/fasttrack"],"tags_count":30,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/G-Research%2Ffasttrackml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/G-Research%2Ffasttrackml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/G-Research%2Ffasttrackml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/G-Research%2Ffasttrackml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/G-Research","download_url":"https://codeload.github.com/G-Research/fasttrackml/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227598457,"owners_count":17791605,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","apache-spark","data-science","data-visualization","experiment-tracking","machine-learning","metadata","metadata-tracking","metrics","ml","mlflow","mlflow-tracking-server","mlops","pytorch","tensorboard","tensorflow","visualization"],"created_at":"2024-12-02T07:28:07.478Z","updated_at":"2025-07-26T14:31:30.134Z","avatar_url":"https://github.com/G-Research.png","language":"Go","readme":"[![FastTrackML banner](https://fasttrackml.io/images/github-banner.svg)](https://fasttrackml.io/)\n\n# _FastTrackML_\n\nFastTrackML is an API for logging parameters and metrics when running\nmachine learning code, and it is a UI for visualizing the result. The\nAPI is a drop-in replacement for MLflow's tracking server, and it\nships with the visualization UI of both MLflow and Aim.\n\nAs the name implies, the emphasis is on speed -- fast logging, fast\nretrieval.\n\n## mlflow-go\n\n\u003e [!TIP]\n\u003e We are excited to be developing the next evolution of performant experiment tracking at [mlflow/mlflow-go-backend](https://github.com/mlflow/mlflow-go-backend)!\n\n### Quickstart\n\n#### Run the tracking server\n\n\u003e [!NOTE]\n\u003e For the full guide, see our [quickstart guide](https://github.com/G-Research/fasttrackml/blob/main/docs/quickstart.md).\n\nFastTrackML can be installed and run with `pip`:\n\n```bash\npip install fasttrackml\nfml server\n```\n\nAlternatively, you can run it within a container with\n[Docker](https://docs.docker.com/get-docker/):\n\n```bash\ndocker run --rm -p 5000:5000 -ti gresearch/fasttrackml\n```\n\nVerify that you can see the UI by navigating to http://localhost:5000/.\n\n![FastTrackML UI](https://raw.githubusercontent.com/G-Research/fasttrackml/main/docs/images/main_ui.png)\n\nFor more info, `--help` is your friend!\n\n#### Track your experiments\n\nInstall the MLflow Python package:\n\n```bash\npip install mlflow-skinny\n```\n\nHere is an elementary example Python script:\n\n```python\nimport mlflow\nimport random\n\n# Set the tracking URI to the FastTrackML server\nmlflow.set_tracking_uri(\"http://localhost:5000\")\n# Set the experiment name\nmlflow.set_experiment(\"my-first-experiment\")\n\n# Start a new run\nwith mlflow.start_run():\n    # Log a parameter\n    mlflow.log_param(\"param1\", random.randint(0, 100))\n\n    # Log a metric\n    mlflow.log_metric(\"foo\", random.random())\n    # metrics can be updated throughout the run\n    mlflow.log_metric(\"foo\", random.random() + 1)\n    mlflow.log_metric(\"foo\", random.random() + 2)\n```\n\n### Developer\n\nFastTrackML can be built and tested within a\n[dev container](https://containers.dev). This is the recommended way as the\nwhole environment comes preconfigured with all the dependencies (Go SDK,\nPostgres, Minio, etc.) and settings (formatting, linting, extensions, etc.) to\nget started instantly.\n\n#### GitHub Codespaces\n\nIf you have a GitHub account, you can simply open FastTrackML in a new GitHub\nCodespace by clicking on the green \"Code\" button at the top of this page.\n\nYou can  build, run, and attach the debugger by simply pressing F5. The unit\ntests can be run from the Test Explorer on the left. There are also many targets\nwithin the `Makefile` that can be used (e.g. `build`, `run`, `test-go-unit`).\n\n#### Visual Studio Code\n\nIf you want to work locally in\n[Visual Studio Code](https://code.visualstudio.com), all you need is to have\n[Docker](https://docs.docker.com/get-docker/) and the\n[Dev Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)\ninstalled.\n\nSimply open up your copy of FastTrackML in VS Code and click \"Reopen in\ncontainer\" when prompted. Once the project has been opened, you can follow the\nGitHub Codespaces instructions above.\n\n\u003e [!IMPORTANT]\n\u003e Note that on MacOS, port 5000 is already occupied, so some\n[adjustments](https://apple.stackexchange.com/a/431164) are necessary.\n\n#### CLI\n\nIf the CLI is how you roll, then you can install the\n[Dev Container CLI](https://github.com/devcontainers/cli) tool and follow the\ninstruction below.\n\n\u003cdetails\u003e\n\u003csummary\u003eCLI instructions\u003c/summary\u003e\n\n\u003e [!WARNING]\n\u003e This setup is not recommended or supported. Here be dragons!\n\nYou will need to edit the `.devcontainer/docker-compose.yml` file and uncomment\nthe `services.db.ports` section to expose the ports to the host. You will also\nneed to add `FML_LISTEN_ADDRESS=:5000` to `.devcontainer/.env`.\n\nYou can then issue the following command in your copy of FastTrackML to get up\nand running:\n\n```bash\ndevcontainer up\n```\n\nAssuming you cloned the repo into a directory named `fasttrackml` and did not\nfiddle with the dev container config, you can enter the dev container with:\n\n```bash\ndocker compose --project-name fasttrackml_devcontainer exec --user vscode --workdir /workspaces/fasttrackml app zsh\n```\n\nIf any of these is not true, here is how to render a command tailored to your\nsetup (it requires [`jq`](https://jqlang.github.io/jq/download/) to be\ninstalled):\n\n```bash\ndevcontainer up | tail -n1 | jq -r '\"docker compose --project-name \\(.composeProjectName) exec --user \\(.remoteUser) --workdir \\(.remoteWorkspaceFolder) app zsh\"'\n```\n\nOnce in the dev container, use your favorite text editor and `Makefile` targets:\n\n```bash\nvscode ➜ /workspaces/fasttrackml (main) $ vi main.go\nvscode ➜ /workspaces/fasttrackml (main) $ emacs .\nvscode ➜ /workspaces/fasttrackml (main) $ make run\n```\n\u003c/details\u003e\n\n### License\n\nCopyright 2022-2023 G-Research\n\nCopyright 2019-2022 Aimhub, Inc.\n\nCopyright 2018 Databricks, Inc.\n\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthese files except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FG-Research%2Ffasttrackml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FG-Research%2Ffasttrackml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FG-Research%2Ffasttrackml/lists"}