This PR adds a new module called explorer.api.ingest which includes utilities for parsing the Nix graph object defined in #56 and performing actions on the packages in it. The primary purpose of this module is to allow for the ingesting of JSON NixGraph files created by the core package.
As a part of these changes I had to move all packages under api/explorer to api/explorer/api so that they place nicely with namespace packaging.
While there are a lot of small changes due to the refactor mentioned above and an update to the Docker build, most of the logic is centralized in explorer.api.ingest and its corresponding test suite.
TODO:
[x] Ensure Docker builds work with updated api packaging
[x] Support different Edge labels for buildInputs and propagatedBuildInputs as is currently the case with the etl package
This PR adds a new module called
explorer.api.ingest
which includes utilities for parsing the Nix graph object defined in #56 and performing actions on the packages in it. The primary purpose of this module is to allow for the ingesting of JSON NixGraph files created by thecore
package.As a part of these changes I had to move all packages under
api/explorer
toapi/explorer/api
so that they place nicely with namespace packaging.While there are a lot of small changes due to the refactor mentioned above and an update to the Docker build, most of the logic is centralized in
explorer.api.ingest
and its corresponding test suite.TODO:
buildInputs
andpropagatedBuildInputs
as is currently the case with theetl
package