{"id":39088275,"url":"https://github.com/ndif-team/ndif","last_synced_at":"2026-01-17T18:43:37.469Z","repository":{"id":215836631,"uuid":"668581350","full_name":"ndif-team/ndif","owner":"ndif-team","description":"The NDIF server, which performs deep inference and serves nnsight requests remotely","archived":false,"fork":false,"pushed_at":"2026-01-14T20:17:19.000Z","size":20314,"stargazers_count":37,"open_issues_count":21,"forks_count":13,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-01-15T00:41:33.914Z","etag":null,"topics":["interpretability","machine-learning","server"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ndif-team.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-07-20T06:32:44.000Z","updated_at":"2026-01-12T16:19:18.000Z","dependencies_parsed_at":"2025-11-27T18:05:21.699Z","dependency_job_id":null,"html_url":"https://github.com/ndif-team/ndif","commit_stats":null,"previous_names":["jadenfiotto-kaufman/ndif","ndif-team/ndif"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/ndif-team/ndif","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ndif-team%2Fndif","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ndif-team%2Fndif/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ndif-team%2Fndif/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ndif-team%2Fndif/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ndif-team","download_url":"https://codeload.github.com/ndif-team/ndif/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ndif-team%2Fndif/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28516199,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T18:28:00.501Z","status":"ssl_error","status_checked_at":"2026-01-17T18:28:00.150Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["interpretability","machine-learning","server"],"created_at":"2026-01-17T18:43:36.879Z","updated_at":"2026-01-17T18:43:37.452Z","avatar_url":"https://github.com/ndif-team.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./NDIF_Acr_color.png\" alt=\"NDIF\" width=\"300\"\u003e\n\u003c/p\u003e\n\n\u003ch3 align=\"center\"\u003e\nNational Deep Inference Fabric\n\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n| \u003ca href=\"https://ndif.us\"\u003e\u003cb\u003eWebsite\u003c/b\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/ndif-team/ndif\"\u003e\u003cb\u003eGitHub\u003c/b\u003e\u003c/a\u003e | \u003ca href=\"https://discord.gg/6uFJmCSwW7\"\u003e\u003cb\u003eDiscord\u003c/b\u003e\u003c/a\u003e | \u003ca href=\"https://discuss.ndif.us/\"\u003e\u003cb\u003eForum\u003c/b\u003e\u003c/a\u003e | \u003ca href=\"https://x.com/ndif_team\"\u003e\u003cb\u003eTwitter\u003c/b\u003e\u003c/a\u003e | \u003ca href=\"https://arxiv.org/abs/2407.14561\"\u003e\u003cb\u003ePaper\u003c/b\u003e\u003c/a\u003e |\n\u003c/p\u003e\n\n---\n\n## About\n\n**NDIF** (National Deep Inference Fabric) is a research computing project that enables scientists and students to perform transparent and reproducible experiments on large-scale AI systems. NDIF provides a unique nationwide research computing fabric designed to support scientific experiments on running AI models, advancing our understanding of the capabilities and limitations of large-scale AI.\n\nNDIF works seamlessly with [nnsight](https://github.com/ndif-team/nnsight), allowing researchers to interpret and manipulate the internals of deep learning models running on remote infrastructure.\n\n## Installation\n\n```bash\npip install ndif\n```\n\n---\n\n# Development Guide\n\nThis guide explains how to set up a development environment, install dependencies, and get started with contributing to the `NDIF` project.\n\n## Prerequisites\n\n- Python 3.10\n- Docker\n- Docker Compose\n\n\n## Setup\n\n## 1. Install Conda\nIf you don’t have Conda installed, download and install Anaconda or Miniconda from the [official Conda website](https://docs.conda.io/en/latest/miniconda.html).\n\n## 2. Create Conda Environment\n\nFork the `NDIF` repository (or clone it directly) to your local machine. Then create a new Conda virtual environment:\n\n```sh\nconda create -n ndif-dev python=3.10\nconda activate ndif-dev\n```\n\n## 3. Install NNsight \n\nChoose one of the following methods:\n\na. Via pip (simple)\n\n```\npip install nnsight\n```\n\nb. From repository (recommended for specific branches)\n\n```sh\ngit clone https://github.com/nnsight/nnsight.git\ncd nnsight\ngit checkout \u003cbranch-name\u003e  # e.g., 0.3\npip install -e .\n```\n\n## Building and Running `NDIF`\n\n### 1. Build and start the development environment\n\nFor first-time setup, use:\n\n```sh\nmake build\n```\n\nIf you’ve made changes to the codebase but did not modify the `environment.yml` files, you can quickly rebuild the services using:\n\n```sh\nmake ta\n```\n\nThis method is faster than running `make build` again.\n\n### 2. Verify server status\n\nAfter building the `NDIF` containers, you can check the docker logs to verify the services are running correctly.\n```sh\ndocker logs dev-api-1\n```\nYou should expect to see a message like `Application startup complete.` in the api service log.\n\n### 3. Run tests\n\n```sh\npython scripts/test.py\n```\n\nFor more comprehensive testing, install [pytest](https://docs.pytest.org/en/stable/)\n\n\nNavigate to the service you wish to test\n```sh\ncd src/services/api\npytest\n```\n\n\nThis will send a test NNsight request to the API service running in the local container.\n\n## Additional Commands\n\n- To start the deployment environment without rebuilding:\n\n```sh\nmake up\n```\n\n- To stop the development environment:\n\n```sh\nmake down\n```\n\n- To rebuild services and restart the environment (useful during development):\n\n```sh\nmake ta\n```\n\n_Note: Modifying any of the `environment.yml` files will require you to rebuild from scratch._\n\n# Environment Configuration\n\nThe project uses separate `.env` files for development and production environments:\n\n- Development: `compose/dev/.env`\n- Production: `compose/prod/.env`\n\nFor most users, only the development environment is necessary. The production environment is configured separately and is not required for local development.\n\n### Note\n\nThe Makefile includes configurations for both development and production environments. As an end user or developer, you'll primarily interact with the development environment. The production environment settings are managed separately and are not typically needed for local development work.\n\n---\n\n## Citation\n\nIf you use `NDIF` in your research, please cite:\n\n```bibtex\n@article{fiottokaufman2024nnsightndifdemocratizingaccess,\n      title={NNsight and NDIF: Democratizing Access to Foundation Model Internals}, \n      author={Jaden Fiotto-Kaufman and Alexander R Loftus and Eric Todd and Jannik Brinkmann and Caden Juang and Koyena Pal and Can Rager and Aaron Mueller and Samuel Marks and Arnab Sen Sharma and Francesca Lucchetti and Michael Ripa and Adam Belfki and Nikhil Prakash and Sumeet Multani and Carla Brodley and Arjun Guha and Jonathan Bell and Byron Wallace and David Bau},\n      year={2024},\n      eprint={2407.14561},\n      archivePrefix={arXiv},\n      primaryClass={cs.LG},\n      url={https://arxiv.org/abs/2407.14561}, \n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fndif-team%2Fndif","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fndif-team%2Fndif","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fndif-team%2Fndif/lists"}