Just a quick FYI that the last missing piece (search) for XMLRPC was merged in Warehouse today. If you have an application that depends on XMLRPC on PyPI and you’d like to test it, please try against the url: https://pypi-preview.a.ssl.fastly.net/pypi Let me know if you find any issues, or you can file a bug at: https://github.com/pypa/warehouse ----------------- Donald Stufft PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA
JSON-RPC is a better choice for recommended external API,
because it doesn't rely on memory hungry and potentially unsafe
XML libraries.
On Wed, Mar 5, 2014 at 3:41 AM, Donald Stufft
Just a quick FYI that the last missing piece (search) for XMLRPC was merged in Warehouse today. If you have an application that depends on XMLRPC on PyPI and you’d like to test it, please try against the url:
https://pypi-preview.a.ssl.fastly.net/pypi
Let me know if you find any issues, or you can file a bug at:
https://github.com/pypa/warehouse
----------------- Donald Stufft PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig
-- anatoly t.
On Mar 5, 2014, at 5:48 AM, anatoly techtonik
JSON-RPC is a better choice for recommended external API, because it doesn't rely on memory hungry and potentially unsafe XML libraries.
On Wed, Mar 5, 2014 at 3:41 AM, Donald Stufft
wrote: Just a quick FYI that the last missing piece (search) for XMLRPC was merged in Warehouse today. If you have an application that depends on XMLRPC on PyPI and you’d like to test it, please try against the url:
https://pypi-preview.a.ssl.fastly.net/pypi
Let me know if you find any issues, or you can file a bug at:
https://github.com/pypa/warehouse
----------------- Donald Stufft PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig
-- anatoly t.
XMLRPC is used in order to maintain compatibility with what is already there. Something better will replace it eventually and XMLRPC will be deprecated. ----------------- Donald Stufft PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA
On Wed, Mar 5, 2014 at 3:01 PM, Donald Stufft
XMLRPC is used in order to maintain compatibility with what is already there. Something better will replace it eventually and XMLRPC will be deprecated.
Good to know that. Testing XMLRPC is a chance to port handlers to a better API, so if "something better" already has some forms, or at least a ticket - it will be nice to get subscribed to it. -- anatoly t.
On Wed, Mar 05, 2014 at 07:01:49AM -0500, Donald Stufft wrote:
On Mar 5, 2014, at 5:48 AM, anatoly techtonik
wrote: JSON-RPC is a better choice for recommended external API, because it doesn't rely on memory hungry and potentially unsafe XML libraries.
On Wed, Mar 5, 2014 at 3:41 AM, Donald Stufft
wrote: Just a quick FYI that the last missing piece (search) for XMLRPC was merged in Warehouse today. If you have an application that depends on XMLRPC on PyPI and you’d like to test it, please try against the url:
https://pypi-preview.a.ssl.fastly.net/pypi
Let me know if you find any issues, or you can file a bug at:
XMLRPC is used in order to maintain compatibility with what is already there. Something better will replace it eventually and XMLRPC will be deprecated.
This is a bit confusing to me now. You're reacting as if anatoly suggested a new JSON interface to replace the legacy XML-RPC one. But the old PyPI codebase already had a JSON API[1]. I'm using it to keep track of Python 3 support status of about 800 packages maintained by the Zope Foundation: http://zope3.pov.lt/py3/ [1] https://wiki.python.org/moin/PyPIJSON I assume at some point Warehouse will add support for the JSON API and you'll issue a call for testing? Marius Gedminas -- The typewriter was invented by Hungarian immigrant Qwert Yuiop, who left his "signature" on the keyboard. -- "Kim"
On 06/03/14 20:10, Marius Gedminas wrote:
On Wed, Mar 05, 2014 at 07:01:49AM -0500, Donald Stufft wrote:
JSON-RPC is a better choice for recommended external API, because it doesn't rely on memory hungry and potentially unsafe XML libraries.
On Wed, Mar 5, 2014 at 3:41 AM, Donald Stufft
wrote: Just a quick FYI that the last missing piece (search) for XMLRPC was merged in Warehouse today. If you have an application that depends on XMLRPC on PyPI and you'd like to test it, please try against the url:
https://pypi-preview.a.ssl.fastly.net/pypi
Let me know if you find any issues, or you can file a bug at:
https://github.com/pypa/warehouse XMLRPC is used in order to maintain compatibility with what is already
On Mar 5, 2014, at 5:48 AM, anatoly techtonik
wrote: there. Something better will replace it eventually and XMLRPC will be deprecated. This is a bit confusing to me now. You're reacting as if anatoly suggested a new JSON interface to replace the legacy XML-RPC one.
But the old PyPI codebase already had a JSON API[1]. I'm using it to keep track of Python 3 support status of about 800 packages maintained by the Zope Foundation: http://zope3.pov.lt/py3/
[1] https://wiki.python.org/moin/PyPIJSON
I assume at some point Warehouse will add support for the JSON API and you'll issue a call for testing?
Marius Gedminas
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig A JSON-RPC interface is slightly different from a "normal" 'RESTful JSON' api.
PyPI currently offers some normal JSON REST resources, as well as an XML-RPC interface. AFAIK Anatoly was suggesting to replace XML-RPC, with JSON-RPC (not just a JSON API, which as you mention already exists), however the former needs to continue to exist because it is an existing feature that many things use. Also AFAIK, warehouse is currently in the business of gaining feature parity with the current PyPI, after which it will be looked into if or what new APIs will be useful to add to make better clients with. Of course a prime candidate for that might be expanding the current RESTful JSON api. -- Matt Iversen PGP: 0xc046e8a874522973 // 2F04 3DCC D6E6 D5AC D262 2E0B C046 E8A8 7452 2973
On Mar 6, 2014, at 4:10 AM, Marius Gedminas
On Wed, Mar 05, 2014 at 07:01:49AM -0500, Donald Stufft wrote:
On Mar 5, 2014, at 5:48 AM, anatoly techtonik
wrote: JSON-RPC is a better choice for recommended external API, because it doesn't rely on memory hungry and potentially unsafe XML libraries.
On Wed, Mar 5, 2014 at 3:41 AM, Donald Stufft
wrote: Just a quick FYI that the last missing piece (search) for XMLRPC was merged in Warehouse today. If you have an application that depends on XMLRPC on PyPI and you’d like to test it, please try against the url:
https://pypi-preview.a.ssl.fastly.net/pypi
Let me know if you find any issues, or you can file a bug at:
XMLRPC is used in order to maintain compatibility with what is already there. Something better will replace it eventually and XMLRPC will be deprecated.
This is a bit confusing to me now.
You're reacting as if anatoly suggested a new JSON interface to replace the legacy XML-RPC one.
Well specifically he said JSON-RPC is better than XMLRPC which sounds like he was disagreeing with Warehouse implementing the XMLRPC interface. If that wasn’t the case then I misunderstood :) I don’t think an RPC interface is really needed at all for PyPI.
But the old PyPI codebase already had a JSON API[1]. I'm using it to keep track of Python 3 support status of about 800 packages maintained by the Zope Foundation: http://zope3.pov.lt/py3/
[1] https://wiki.python.org/moin/PyPIJSON
I assume at some point Warehouse will add support for the JSON API and you'll issue a call for testing?
Richard has actually already implemented it! But in testing it just now I see it is failing on the server but isn’t locally for me so I’ll need to see why that is the case.
Marius Gedminas -- The typewriter was invented by Hungarian immigrant Qwert Yuiop, who left his "signature" on the keyboard. -- "Kim" _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig
----------------- Donald Stufft PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA
On Thu, Mar 6, 2014 at 3:28 PM, Donald Stufft
On Mar 6, 2014, at 4:10 AM, Marius Gedminas
wrote: On Wed, Mar 05, 2014 at 07:01:49AM -0500, Donald Stufft wrote:
On Mar 5, 2014, at 5:48 AM, anatoly techtonik
wrote: JSON-RPC is a better choice for recommended external API, because it doesn't rely on memory hungry and potentially unsafe XML libraries.
On Wed, Mar 5, 2014 at 3:41 AM, Donald Stufft
wrote: Just a quick FYI that the last missing piece (search) for XMLRPC was merged in Warehouse today. If you have an application that depends on XMLRPC on PyPI and you’d like to test it, please try against the url:
https://pypi-preview.a.ssl.fastly.net/pypi
Let me know if you find any issues, or you can file a bug at:
XMLRPC is used in order to maintain compatibility with what is already there. Something better will replace it eventually and XMLRPC will be deprecated.
This is a bit confusing to me now.
You're reacting as if anatoly suggested a new JSON interface to replace the legacy XML-RPC one.
Well specifically he said JSON-RPC is better than XMLRPC which sounds like he was disagreeing with Warehouse implementing the XMLRPC interface. If that wasn’t the case then I misunderstood :) I don’t think an RPC interface is really needed at all for PyPI.
Let me clarify to avoid further speculations. 1. I forgot that PyPI exposes JSON API 2. I expressed concern that XMLRPC is promoted for integration with PyPI and it should not, because it is ineffective
But the old PyPI codebase already had a JSON API[1]. I'm using it to keep track of Python 3 support status of about 800 packages maintained by the Zope Foundation: http://zope3.pov.lt/py3/
[1] https://wiki.python.org/moin/PyPIJSON
I assume at some point Warehouse will add support for the JSON API and you'll issue a call for testing?
Richard has actually already implemented it! But in testing it just now I see it is failing on the server but isn’t locally for me so I’ll need to see why that is the case.
So yes. "Use JSON API, but test XMLRPC for compatibility" is the thing I expected to hear. =) -- anatoly t.
On Mar 6, 2014, at 7:28 AM, Donald Stufft
But the old PyPI codebase already had a JSON API[1]. I'm using it to keep track of Python 3 support status of about 800 packages maintained by the Zope Foundation: http://zope3.pov.lt/py3/
[1] https://wiki.python.org/moin/PyPIJSON
I assume at some point Warehouse will add support for the JSON API and you'll issue a call for testing?
Richard has actually already implemented it! But in testing it just now I see it is failing on the server but isn’t locally for me so I’ll need to see why that is the case.
The JSON API is functional again and is available for testing! ----------------- Donald Stufft PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA
On Fri, Mar 07, 2014 at 01:03:23AM -0500, Donald Stufft wrote:
The JSON API is functional again and is available for testing!
Excellent! I can observe two differences with the current PyPI code: First, the Content-Type of the response differs: $ curl -sI https://pypi.python.org/pypi/setuptools/json | grep Content-Type Content-Type: application/json; charset="UTF-8" $ curl -sI https://pypi-preview.a.ssl.fastly.net/pypi/setuptools/json | grep Content-Type Content-Type: application/json (I don't know which is correct, or whether the difference actually matters.) Second, the current PyPI codebase returns absolute URLs, while Warehouse returns paths relative to the site root: $ curl -s https://pypi.python.org/pypi/setuptools/json | grep '"url":' "url": "https://pypi.python.org/packages/3.4/s/setuptools/setuptools-2.2-py2.py3-non...", "url": "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.2.tar.gz", $ curl -s https://pypi-preview.a.ssl.fastly.net/pypi/setuptools/json | python -m json.tool | grep '"url":' "url": "/packages/3.4/s/setuptools/setuptools-2.2-py2.py3-none-any.whl" "url": "/packages/source/s/setuptools/setuptools-2.2.tar.gz" I can adapt my script to cope. Marius Gedminas -- Key emulation: [ ] Intuitive [*] Emacs (Seen in an MCEdit dialog)
On Mar 7, 2014, at 7:45 AM, Marius Gedminas
On Fri, Mar 07, 2014 at 01:03:23AM -0500, Donald Stufft wrote:
The JSON API is functional again and is available for testing!
Excellent!
I can observe two differences with the current PyPI code:
First, the Content-Type of the response differs:
$ curl -sI https://pypi.python.org/pypi/setuptools/json | grep Content-Type Content-Type: application/json; charset="UTF-8"
$ curl -sI https://pypi-preview.a.ssl.fastly.net/pypi/setuptools/json | grep Content-Type Content-Type: application/json
(I don't know which is correct, or whether the difference actually matters.)
Most things will accept the first, however the Warehouse style is correct. application/json is always UTF8 and doesn’t accept a charset parameter.
Second, the current PyPI codebase returns absolute URLs, while Warehouse returns paths relative to the site root:
$ curl -s https://pypi.python.org/pypi/setuptools/json | grep '"url":' "url": "https://pypi.python.org/packages/3.4/s/setuptools/setuptools-2.2-py2.py3-non...", "url": "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.2.tar.gz",
$ curl -s https://pypi-preview.a.ssl.fastly.net/pypi/setuptools/json | python -m json.tool | grep '"url":' "url": "/packages/3.4/s/setuptools/setuptools-2.2-py2.py3-none-any.whl" "url": "/packages/source/s/setuptools/setuptools-2.2.tar.gz"
I can adapt my script to cope.
Yea I already noted that they were relative, I think they should be absolute and I had already filed it under https://github.com/pypa/warehouse/issues/233 .
Marius Gedminas -- Key emulation: [ ] Intuitive [*] Emacs (Seen in an MCEdit dialog) _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig
----------------- Donald Stufft PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA
participants (4)
-
anatoly techtonik
-
Donald Stufft
-
Marius Gedminas
-
Matthew Iversen