{"id":14958147,"url":"https://github.com/openmined/pysyft","last_synced_at":"2025-05-12T03:39:12.586Z","repository":{"id":37250100,"uuid":"97641933","full_name":"OpenMined/PySyft","owner":"OpenMined","description":"Perform data science on data that remains in someone else's server","archived":false,"fork":false,"pushed_at":"2025-04-13T12:44:47.000Z","size":771474,"stargazers_count":9673,"open_issues_count":49,"forks_count":1995,"subscribers_count":195,"default_branch":"dev","last_synced_at":"2025-05-01T13:49:46.517Z","etag":null,"topics":["cryptography","deep-learning","federated-learning","hacktoberfest","privacy","python","pytorch","secure-computation","syft"],"latest_commit_sha":null,"homepage":"https://www.openmined.org/","language":"Python","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/OpenMined.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,"zenodo":null},"funding":{"github":"openmined","open_collective":"openmined"}},"created_at":"2017-07-18T20:41:16.000Z","updated_at":"2025-05-01T10:06:19.000Z","dependencies_parsed_at":"2022-07-15T15:00:53.637Z","dependency_job_id":"f27ca325-ff98-4b18-946c-d94339613dd4","html_url":"https://github.com/OpenMined/PySyft","commit_stats":{"total_commits":23297,"total_committers":539,"mean_commits":43.2226345083488,"dds":0.8915740224063184,"last_synced_commit":"355a264f4a0da48d81b0f658d758dd3c07d37c9d"},"previous_names":[],"tags_count":214,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenMined%2FPySyft","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenMined%2FPySyft/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenMined%2FPySyft/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenMined%2FPySyft/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenMined","download_url":"https://codeload.github.com/OpenMined/PySyft/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253669196,"owners_count":21945062,"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":["cryptography","deep-learning","federated-learning","hacktoberfest","privacy","python","pytorch","secure-computation","syft"],"created_at":"2024-09-24T13:16:21.431Z","updated_at":"2025-05-12T03:39:12.564Z","avatar_url":"https://github.com/OpenMined.png","language":"Python","readme":"\u003cdiv align=\"left\"\u003e \u003ca href=\"https://pypi.org/project/syft/\"\u003e\u003cimg src=\"https://static.pepy.tech/badge/pysyft\" /\u003e\u003c/a\u003e \u003ca href=\"https://pypi.org/project/syft/\"\u003e\u003cimg src=\"https://badge.fury.io/py/syft.svg\" /\u003e\u003c/a\u003e \u003ca href=\"https://hub.docker.com/u/openmined\"\u003e\u003cimg src=\"https://img.shields.io/badge/docker-images-blue?logo=docker\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/OpenMined/PySyft/actions/workflows/nightlies.yml\"\u003e\u003cimg src=\"https://github.com/OpenMined/PySyft/actions/workflows/nightlies.yml/badge.svg?branch=dev\" /\u003e\u003c/a\u003e \u003ca href=\"https://join.slack.com/t/openmined/shared_invite/zt-2hxwk07i9-HO7u5C7XOgou4Z62VU78zA/\"\u003e\u003cimg src=\"https://img.shields.io/badge/chat-on%20slack-purple?logo=slack\" /\u003e\u003c/a\u003e \u003ca href=\"https://docs.openmined.org/en/latest/index.html\"\u003e\u003cimg src=\"https://img.shields.io/badge/read-docs-yellow?logo=mdbook\" /\u003e\u003c/a\u003e\n\u003cbr /\u003e\u003cbr /\u003e\u003c/div\u003e\n\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"docs/img/Syft-Logo-Light.svg\"\u003e\n  \u003cimg alt=\"Syft Logo\" src=\"docs/img/Syft-Logo.svg\" width=\"200px\" /\u003e\n\u003c/picture\u003e\n\n\u003ch3\u003e Data Science on data you are not allowed to see\u003c/h3\u003e\n\nPySyft enables a new way to do data science, where you can use non-public information, without seeing nor obtaining a copy of the data itself. All you need is to connect to a \u003ca href=\"https://docs.openmined.org/en/latest/components/datasite-server.html\"\u003eDatasite\u003c/a\u003e!\n\nDatasites are like websites, but for data. Designed with the principles of \u003ca href=\"https://arxiv.org/abs/2012.08347\"\u003estructured transparency\u003c/a\u003e, they enable data owners to control how their data is protected and data scientists to use data without obtaining a copy.\n\nPySyft supports any statistical analysis or machine learning, offering support for directly running Python code - even using third-party Python libraries.\n\n\u003ch4\u003e Supported on:\u003c/h4\u003e\n\n✅ Linux\n✅ macOS\n✅ Windows\n✅ Docker\n✅ Kubernetes\n\n# Quickstart\n\nTry out your \u003ca href=\"https://docs.openmined.org/en/latest/index.html\"\u003efirst query against a live demo Datasite! \u003c/a\u003e\n\n## Install Client\n\n```bash\npip install -U \"syft[data_science]\"\n```\n\nMore instructions are available \u003ca href=\"https://docs.openmined.org/en/latest/quick-install.html\"\u003ehere\u003c/a\u003e.\n\n## Launch Server\n\nLaunch \u003ca href=\"https://docs.openmined.org/en/latest/deployment/deployment-doc-1-2-intro-req.html\"\u003ea development server \u003c/a\u003e directly in your Jupyter Notebook:\n\n```python\nimport syft as sy\n\nsy.requires(\"\u003e=0.9.5,\u003c0.9.6\")\n\nserver = sy.orchestra.launch(\n    name=\"my-datasite\",\n    port=8080,\n    create_producer=True,\n    n_consumers=1,\n    dev_mode=False,\n    reset=True, # resets database\n)\n```\n\nor from the command line:\n\n```bash\n$ syft launch --name=my-datasite --port=8080 --reset=True\n\nStarting syft-datasite server on 0.0.0.0:8080\n```\n\nDatasite servers can be deployed as a single container using Docker or directly in Kubernetes. Check out our \u003ca href=\"https://docs.openmined.org/en/latest/deployment/deployment-doc-1-2-intro-req.html\"\u003edeployment guide.\u003c/a\u003e\n\n## Launch Client\n\nMain way to use a Datasite is via our Syft client, in a Jupyter Notebook. Check out our \u003ca href=\"https://docs.openmined.org/en/latest/components/syft-client.html\"\u003e PySyft client guide\u003c/a\u003e:\n\n```python\nimport syft as sy\n\nsy.requires(\"\u003e=0.9.5,\u003c0.9.6\")\n\ndatasite_client = sy.login(\n    port=8080,\n    email=\"info@openmined.org\",\n    password=\"changethis\"\n)\n```\n\n## PySyft - Getting started 📝\n\nLearn about PySyft via our getting started guide:\n\n- \u003ca href=\"https://docs.openmined.org/en/latest/getting-started/introduction.html\"\u003ePySyft from the ground up\u003c/a\u003e\n- \u003ca href=\"https://docs.openmined.org/en/latest/getting-started/part1-dataset-and-assets.html\"\u003e Part 1: Datasets \u0026 Assets\u003c/a\u003e\n- \u003ca href=\"https://docs.openmined.org/en/latest/getting-started/part2-datasite-access.html\"\u003e Part 2: Client and Datasite Access\u003c/a\u003e\n- \u003ca href=\"https://docs.openmined.org/en/latest/getting-started/part3-research-study.html\"\u003e Part 3: Propose the research study\u003c/a\u003e\n- \u003ca href=\"https://docs.openmined.org/en/latest/getting-started/part4-review-code-request.html\"\u003e Part 4: Review Code Requests\u003c/a\u003e\n- \u003ca href=\"https://docs.openmined.org/en/latest/getting-started/part5-retrieving-results.html\"\u003e Part 5: Retrieving Results\u003c/a\u003e\n\n# PySyft In-depth\n\n📚 Check out \u003ca href=\"https://docs.openmined.org/en/latest/index.html\"\u003eour docs website\u003c/a\u003e.\n\nQuick PySyft components links:\n\n- \u003ca href=\"https://docs.openmined.org/en/latest/components/datasite-server.html\"\u003eDataSite Server\u003c/a\u003e\n\n- \u003ca href=\"https://docs.openmined.org/en/latest//components/syft-client.html\"\u003eSyft Client\u003c/a\u003e\n\n- \u003ca href=\"https://docs.openmined.org/en/latest/components/datasets.html\"\u003eDatasets API (`.datasets`)\u003c/a\u003e\n\n- \u003ca href=\"https://docs.openmined.org/en/latest/components/users-api.html\"\u003eUsers API (`.users`)\u003c/a\u003e\n\n\u003c!-- - \u003ca href=\"https://docs.openmined.org/en/latest/components/projects-api.html\"\u003eProjects API (`.projects`)\u003c/a\u003e --\u003e\n\n- \u003ca href=\"https://docs.openmined.org/en/latest/components/requests-api.html\"\u003eRequest API (`.requests`)\u003c/a\u003e\n\n- \u003ca href=\"https://docs.openmined.org/en/latest/components/code-api.html\"\u003eCode API (`.code`)\u003c/a\u003e\n\n- \u003ca href=\"https://docs.openmined.org/en/latest/components/syft-policies.html\"\u003eSyft Policies API (`.policy`)\u003c/a\u003e\n\n- \u003ca href=\"https://docs.openmined.org/en/latest/components/settings-api.html\"\u003eSettings API (`.settings`)\u003c/a\u003e\n\n- \u003ca href=\"https://docs.openmined.org/en/latest/components/notifications.html\"\u003eNotifications API (`.notifications`)\u003c/a\u003e\n\n- \u003ca href=\"https://docs.openmined.org/en/latest/components/syncing-api.html\"\u003eSync API (`.sync`)\u003c/a\u003e\n\n## Why use PySyft?\n\nIn a variety of domains across society, data owners have **valid concerns about the risks associated with sharing their data**, such as legal risks, privacy invasion (_misuing the data_), or intellectual property (_copying and redistributing it_).\n\nDatasites enable data scientists to **answer questions** without even seeing or acquiring a copy of the data, **within the data owners's definition of acceptable use**. We call this process \u003cb\u003e Remote Data Science\u003c/b\u003e.\n\nThis means that the **current risks** of sharing information with someone will **no longer prevent** the vast benefits such as innovation, insights and scientific discovery. With each Datasite, data owners are able to enable `1000x more accesible data` in each scientific field and lead, together with data scientists, breakthrough innovation.\n\nLearn more about our work on \u003ca href=\"https://openmined.org/\"\u003eour website\u003c/a\u003e.\n\n## Support\n\nFor questions about PySyft, reach out via `#support` on \u003ca href=\"https://slack.openmined.org/\"\u003eSlack\u003c/a\u003e.\n\n## Syft Versions\n\n:exclamation: PySyft and Syft Server must use the same `version`.\n\n**Latest Stable**\n\n- `0.9.5` (Stable) - \u003ca href=\"https://docs.openmined.org/en/latest/index.html\"\u003eDocs\u003c/a\u003e\n- Install PySyft (Stable): `pip install -U syft`\n\n\nFind more about previous \u003ca href=\"./releases.md\"\u003ereleases here\u003c/a\u003e.\n\n# Community\n\nSupported by the OpenMined Foundation, the OpenMined Community is an online network of over 17,000 technologists, researchers, and industry professionals keen to _unlock 1000x more data in every scientific field and industry_.\n\n\u003ca href=\"https://join.slack.com/t/openmined/shared_invite/zt-2hxwk07i9-HO7u5C7XOgou4Z62VU78zA\"\u003e\u003cimg width=150px src=\"https://img.shields.io/badge/Join_us-%20slack-purple?logo=slack\" /\u003e\u003c/a\u003e\n\n# Courses\n\n\u003ctable border=\"5\" bordercolor=\"grey\"\u003e\n\u003ctr\u003e\n\u003cth align=\"center\"\u003e\n\u003cimg width=\"200\" height=\"1\"\u003e\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://courses.openmined.org/courses/our-privacy-opportunity\"\u003e\u003cimg src=\"docs/img/course_privacy.png\" alt=\"\" width=\"100%\" align=\"center\" /\u003e\u003c/a\u003e\n\u003c/th\u003e\n\u003cth align=\"center\"\u003e\n\u003cimg width=\"200\" height=\"1\"\u003e\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://courses.openmined.org/courses/foundations-of-private-computation\"\u003e\u003cimg src=\"docs/img/course_foundations.png\" alt=\"\" width=\"100%\" align=\"center\" /\u003e\u003c/a\u003e\n\u003c/div\u003e\n\u003c/th\u003e\n\u003cth align=\"center\"\u003e\n\u003cimg width=\"200\" height=\"1\"\u003e\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://courses.openmined.org/courses/introduction-to-remote-data-science\"\u003e\u003cimg src=\"docs/img/course_introduction.png\" alt=\"\" width=\"100%\" align=\"center\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n# Contributors\n\nOpenMined and Syft appreciates all contributors, if you would like to fix a bug or suggest a new feature, please reach out via \u003ca href=\"https://github.com/OpenMined/PySyft/issues\"\u003eGithub\u003c/a\u003e or \u003ca href=\"https://join.slack.com/t/openmined/shared_invite/zt-2hxwk07i9-HO7u5C7XOgou4Z62VU78zA/\"\u003eSlack\u003c/a\u003e!\n\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"docs/img/contributors_dark.jpg\"\u003e\n  \u003cimg src=\"docs/img/contributors_light.jpg\" alt=\"Contributors\" width=\"100%\" /\u003e\n\u003c/picture\u003e\n\n# About OpenMined\n\nOpenMined is a non-profit foundation creating technology infrastructure that helps researchers get answers from data without needing a copy or direct access. Our community of technologists is building Syft.\n\n\u003ca href=\"https://donate.stripe.com/fZe03H0aLdAO59e9AA\n\"\u003e\u003cimg width=200px src=\"https://img.shields.io/badge/Donate_to-OpenMined-yellow?logo=stripe\" /\u003e\u003c/a\u003e\n\n# Supporters\n\n\u003ctable border=\"0\"\u003e\n\u003ctr\u003e\n\u003cth align=\"center\"\u003e\n\u003ca href=\"https://sloan.org/\"\u003e\u003cimg src=\"docs/img/logo_sloan.png\" /\u003e\u003c/a\u003e\n\u003c/th\u003e\n\u003cth align=\"center\"\u003e\n\u003ca href=\"https://opensource.fb.com/\"\u003e\u003cimg src=\"docs/img/logo_meta.png\" /\u003e\u003c/a\u003e\n\u003c/th\u003e\n\u003cth align=\"center\"\u003e\n\u003ca href=\"https://pytorch.org/\"\u003e\u003cimg src=\"docs/img/logo_torch.png\" /\u003e\u003c/a\u003e\n\u003c/th\u003e\n\u003cth align=\"center\"\u003e\n\u003ca href=\"https://www.dpmc.govt.nz/\"\u003e\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"docs/img/logo_nz_dark.png\"\u003e\n  \u003cimg src=\"docs/img/logo_nz_light.png\" /\u003e\n\u003c/picture\u003e\n\u003c/a\u003e\n\u003c/th\u003e\n\u003cth align=\"center\"\u003e\n\u003ca href=\"https://twitter.com/\"\u003e\u003cimg src=\"docs/img/logo_twitter.png\" /\u003e\u003c/a\u003e\n\u003c/th\u003e\n\u003cth align=\"center\"\u003e\n\u003ca href=\"https://google.com/\"\u003e\u003cimg src=\"docs/img/logo_google.png\" /\u003e\u003c/a\u003e\n\u003c/th\u003e\n\u003cth align=\"center\"\u003e\n\u003ca href=\"https://microsoft.com/\"\u003e\u003cimg src=\"docs/img/logo_microsoft.png\" /\u003e\u003c/a\u003e\n\u003c/th\u003e\n\u003cth align=\"center\"\u003e\n\u003ca href=\"https://omidyar.com/\"\u003e\u003cimg src=\"docs/img/logo_on.png\" /\u003e\u003c/a\u003e\n\u003c/th\u003e\n\u003cth align=\"center\"\u003e\n\u003ca href=\"https://www.udacity.com/\"\u003e\u003cimg src=\"docs/img/logo_udacity.png\" /\u003e\u003c/a\u003e\n\u003c/th\u003e\n\u003cth align=\"center\"\u003e\n\u003ca href=\"https://www.centerfordigitalhealthinnovation.org/\"\u003e\n\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"docs/img/logo_cdhi_dark.png\"\u003e\n  \u003cimg src=\"docs/img/logo_cdhi_light.png\" /\u003e\n\u003c/picture\u003e\n\n\u003c/a\u003e\n\u003c/th\u003e\n\u003cth align=\"center\"\u003e\n\u003ca href=\"https://arkhn.org/\"\u003e\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"docs/img/logo_arkhn.png\"\u003e\n  \u003cimg src=\"docs/img/logo_arkhn_light.png\" /\u003e\n\u003c/picture\u003e\n\u003c/a\u003e\n\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n# License\n\n[Apache License 2.0](LICENSE)\u003cbr /\u003e\n\u003ca href=\"https://www.flaticon.com/free-icons/person\" title=\"person icons\"\u003ePerson icons created by Freepik - Flaticon\u003c/a\u003e\n\n\u003c!-- 🥇 --\u003e\n","funding_links":["https://github.com/sponsors/openmined","https://opencollective.com/openmined"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenmined%2Fpysyft","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenmined%2Fpysyft","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenmined%2Fpysyft/lists"}