Unified code and data management for model development
US-10956132-B1 · Mar 23, 2021 · US
US2021397426A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2021397426-A1 |
| Application number | US-202117353069-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jun 21, 2021 |
| Priority date | Jun 19, 2020 |
| Publication date | Dec 23, 2021 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A dependency management system preserves and installs software project environments. The dependency management system stores snapshots of project environments on client devices which include one or more software packages. A project environment snapshot includes a dependency graph representing the dependencies of the project environment. The dependency management system may manage a project environment on a client device and update a dependency graph to reflect the dependencies of currently installed packages. As part of the updating of the dependency graph, the dependency management system may automatically resolve dependency conflicts resulting from one or more dependencies of the project environment. The dependency management system further provides project environment snapshots to client systems for installing corresponding project environments.
Opening claim text (preview).
We claim: 1 . A computer-implemented method for managing software package dependencies, the method comprising: receiving, by an online system, a project environment snapshot from a first client device, the project environment snapshot including a dependency graph representing dependencies of one or more packages of a project environment; storing, by the online system, the project environment snapshot; receiving, by the online system, a request for the project environment snapshot from a second client device; and responsive to the request for the project environment snapshot, providing installation information for installing the project environment included in the project environment snapshot to the second client device, the information including the dependency graph. 2 . The computer-implemented method of claim 1 , wherein storing the project environment snapshot comprises: receiving a request to cache a compressed version of the project environment from the first client device; responsive to the request to cache the compressed version, generating a compressed version of the project environment, the compressed version of the project environment including compressed versions of the one or more packages of the project environment; and caching the compressed version of the project environment at the online system. 3 . The computer-implemented method of claim 2 , wherein the installation information provided to the second client device includes the compressed version of the project environment. 4 . A computer-implemented method for generating a project environment snapshot, the method comprising: initializing, a software project environment for a client device, the project environment associated with a dependency graph representing dependencies of one or more packages installed for the project environment on the client device; responsive to a new package being installed for the project environment, updating the dependency graph based on dependencies of the new package; responsive to receiving a request to generate a project environment snapshot, generating the project environment snapshot based on the updated dependency graph, the project environment snapshot including a static copy of the updated dependency graph; and providing the project environment snapshot to an online system. 5 . The computer-implemented method of claim 4 , further comprising: responsive to an additional package being removed for the project environment, reupdating the dependency graph to remove dependencies of the additional package; responsive to receiving an additional request to generate an additional project environment snapshot, generating the additional project environment snapshot based on the reupdated dependency graph, the additional project environment snapshot including a static copy of the reupdated dependency graph; and providing the additional project environment snapshot to the online system. 6 . The computer-implemented method of claim 4 , further comprising: responsive to receiving information describing a modification of the dependencies of the new package, reupdating the dependency graph to modify the dependencies of the new package; responsive to receiving an additional request to generate an additional project environment snapshot, generating the additional project environment snapshot based on the reupdated dependency graph, the additional project environment snapshot including a static copy of the reupdated dependency graph; and providing the additional project environment snapshot to the online system. 7 . The computer-implemented method of claim 4 , wherein updating the dependency graph comprises: identifying, using the dependency graph, a conflict between a dependency of the new package and a dependency of a package installed for the project environment; determining a configuration of the dependency graph that resolves the identified conflict; and updating the dependency graph to use the determined configuration. 8 . The computer-implemented method of claim 7 , wherein determining the configuration of the dependency graph comprises: responsive to determining that the identified conflict cannot be resolved automatically, providing an interface for display on the client device requesting information for determining the configuration of the dependency graph that resolves the identified conflict; and receiving the requested information via user interaction with the interface. 9 . The computer-implemented method of claim 4 , wherein generating the project environment snapshot comprises: retrieving a set of information describing a current instance of a project environment, the set of information including the static copy of the updated dependency graph; and generating the project environment snapshot using the information describing the current instance of the project environment. 10 . The computer-implemented method of claim 4 , wherein the request to generate the project environment snapshot is received based on a user interaction with a user interface of the client device. 11 . The computer-implemented method of claim 4 , wherein the one or more packages installed for the project environment include instructions represented using a first programming language, and further comprising: initializing, an additional software project environment for the client device, the additional project environment associated with an additional dependency graph representing dependencies of one or more packages installed for the additional project environment on the client device, the one or more packages installed for the additional project environment including instructions represented using a second programming language; responsive to receiving a request to generate an additional project environment snapshot for the additional project environment, generating the additional project environment snapshot based on the additional dependency graph; and providing the additional project environment snapshot to the online system. 12 . The computer-implemented method of claim 4 , further comprising: responsive to a predefined period of time elapsing after generating the project environment snapshot, regenerating the project environment snapshot based on a current instance of the dependency graph; and providing the regenerated project environment snapshot to the online system. 13 . The computer-implemented method of claim 4 , further comprising: providing a request to the online system to store the project environment in a compressed format. 14 . A computer-implemented method for installing a development environment snapshot, the method comprising: receiving, by a computing device, a selection of a project environment snapshot stored by an online system, the project environment snapshot associated with one or more packages and including a static dependency graph representing dependencies of the one or more packages; retrieving the static dependency graph from the online system; responsive to determining that a compressed version of a package from the one or more packages is cached on the online system, retrieving the compressed package; and installing the one or more packages in the software development environment using the static dependency graph and the compressed package. 15 . The computer-implemented method of claim 14 , wherein updating the dependency graph comprises: responsive to determining that no compressed version of an additional package from the one or more packages is cached on the online system, installing the additional package in the software development en
Related publications grouped by family.
Answers are generated from the same data shown on this page.