Legacy Application URL Structure¶
Note: this is a brain dump, mostly written by Donald Stufft in early 2015.
It just lists the legacy structure and none of the intended new structure.
The following documents the current URLs in the legacy PyPI application.
| URL | Purpose |
|---|---|
| / | Redirect to /pypi |
| /pypi | Legacy PyPI application. See below. |
| /daytime | Legacy mirroring support |
| /security | Page giving contact and other information regarding site security |
| /id | OpenID endpoint |
| /oauth | OAuth endpoint |
| /simple | Simple API as given in Index API |
| /packages | Serve up a package file |
| /mirrors | Page listing legacy mirrors (not to be retained) |
| /serversig | Legacy mirroring support (no-one uses it: not to be retained) |
| /raw-packages | nginx implementation specific hackery (entirely internal; not to be retained) |
| /stats | Web stats. Whatever. Probably dead. |
| /local-stats | Package download stats. All the legacy mirrors have this. |
| /static | Static files (CSS, images) in support of the web interface. |
The legacy application has a bunch of different behaviours:
- With no additional path, parameter or content-type information the app renders a "front page" for the site. TODO: keep this behaviour or redirect?
- With a content-type of "text/xml" the app runs in an XML-RPC server mode.
- With certain path information the app will render project information.
- With an :action parameter the app will take certain actions and/or display certain information.
The :action parameters are typically submitted through GET URL parameters, though some actions are also POST actions.
Could be nuked without fuss¶
displaywas used to display a package version but was replaced ages ago by the // URL structure - all the user-based stuff like
register_form,user,user_form,forgotten_password_form,login,logout,forgotten_password,password_reset,pw_resetandpw_reset_changewill most likely be replaced by newer mechanisms in warehouse openid_endpoint,openid_decide_postcould also be replaced by something else.homeis the old home page thing and completely unnecessaryindexis overwhelming given the number of projects now.browseandsearchare probably only referenced by internal links so should be safe to nukesubmit_pkg_infoanddisplay_pkginfoprobably aren't usedsubmit_formandpkg_editwill be changing anywayfiles,urls,role,role_formare old style and will be changinglist_classifiers.. this might actually only be used by Richard :)claim,openid,openid_return,dropidare legacy openid login support and will be changingclear_auth"clears" Basic Authaddkey,delkeywill be changing if we even keep supporting ssh submitverifyprobably isn't actually used by anyonelasthouris a pubsubhubbub thing - does this even exist any longer?jsonis never used as a :action invocation, only ever //json gae_fileI'm pretty sure this is not necessaryrss_regenmanually regens the RSS cached files, not neededaboutNo longer needed.delete_userNo longer needed.exceptionNo longer needed.
Will need to retain¶
rssandpackages_rsswill be in a bunch of peoples` RSS readersdoapis most likely referred toshow_md5?
Can be deprecated carefully¶
submit,upload,doc_upload,file_upload,