mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
API migration notes...
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# Tool Shed Migration Notes
|
||||
|
||||
The Galaxy developer community has different intentions and ideas for the tool shed going forward including:
|
||||
|
||||
- a complete rewrite (https://github.com/hexylena/shed)
|
||||
- merge the existing functionality that is needed into DockStore (https://dockstore.org/)
|
||||
- a rewrite of Galaxy to just use GitHub directly (the Anton approach)
|
||||
- spinning the codebase off as is (duplicating and freezing the Galaxy half) (https://github.com/galaxyproject/galaxy/pull/8830)
|
||||
- spinning the code base while continuing reuse via Python packaging
|
||||
|
||||
There is largely agreement that the tool shed code is aging and if the UI should continue
|
||||
to exist it should be rewritten. The ecosystem has evolved such that I think all parties would
|
||||
also agree that all server access (by Galaxy or a new UI) should be via a tool shed API and should
|
||||
be typed and well modelled.
|
||||
|
||||
This chart is meant to track what API endpoints are used where and how they are used to gauage
|
||||
how conservative we should be in breaking backward compatiblity. This chart doesn't guarentee
|
||||
endpoints will remain, will stay consistent, or even that a tool shed API will continue to exist.
|
||||
It is just meant to track information and allow us to make clear choices. Nothing is scared here.
|
||||
|
||||
Things seemingly *NOT* used by Galaxy, Planemo, or Ephemeris. These are easy candidates for
|
||||
for deletion instead of writing new tests and modernizing the API.
|
||||
|
||||
- reset_metadata_on_repositories
|
||||
- remove_repository_registry_entry
|
||||
- get_repository_revision_install_info
|
||||
- get_installable_revisions
|
||||
- The whole Groups API.
|
||||
- The whole Repository Revisions API.
|
||||
|
||||
| api | Galaxy | Planemo | Ephemeris | Pydantic or API tests | Used for TS Functional Testing | Notes |
|
||||
| --- | ------ | ------- | --------- | --------------------- | ------------------------------ | ----- |
|
||||
| GET categories | ? | ? | ? | YES | NO | Easy to maintain/migrate |
|
||||
| POST categories | NO | NO | NO | YES | YES | Easy to maintain/migrate |
|
||||
| get_repository_revision_install_info | YES | | | | | NO | Used by install code. |
|
||||
| get_ordered_installable_revisions | NO | NO | YES | YES | NO | used by complete_repo_information in ephemeris for shed_tools |
|
||||
| reset_metadata_on_repository | NO | NO | NO | YES | NO | Bjoern said it was a thing that is done via the UI still |
|
||||
| GET repositories/{repository_id}/metadata| Yes (getRepository in client?) | NO? | NO? | YES | NO | |
|
||||
| tool search | NO | NO | NO | YES | NO | Community contributed - used by tool dog or something? |
|
||||
| repo search | YES | NO | NO | YES | NO | Used by the Vue tool shed install interface. |
|
||||
| repositories/{repository_id}/changeset_revision | NO | YES | NO | YES | NO | |
|
||||
| POST repositories | NO | YES | NO | YES | NO | |
|
||||
@@ -5,17 +5,6 @@ from ..base.api import ShedApiTestCase
|
||||
COLUMN_MAKER_PATH = resource_path(__package__, "../test_data/column_maker/column_maker.tar")
|
||||
|
||||
|
||||
# Things seemingly *NOT* used by Galaxy, Planemo, or Ephemeris...
|
||||
# (perhaps we can delete instead of test?)...
|
||||
# - reset_metadata_on_repository
|
||||
# - reset_metadata_on_repositories
|
||||
# - remove_repository_registry_entry
|
||||
# - get_repository_revision_install_info
|
||||
# - get_installable_revisions
|
||||
|
||||
# Non repositories API seemingly unused and seemingly better rewritten if wanted.
|
||||
# - The whole Groups API.
|
||||
# - The whole Repository Revisions API.
|
||||
class ShedRepositoriesApiTestCase(ShedApiTestCase):
|
||||
def test_create(self):
|
||||
populator = self.populator
|
||||
|
||||
Reference in New Issue
Block a user