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 donald@stufft.io 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
On Mar 5, 2014, at 5:48 AM, anatoly techtonik techtonik@gmail.com 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 donald@stufft.io 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 donald@stufft.io wrote:
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.
On Wed, Mar 05, 2014 at 07:01:49AM -0500, Donald Stufft wrote:
On Mar 5, 2014, at 5:48 AM, anatoly techtonik techtonik@gmail.com 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 donald@stufft.io 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
On 06/03/14 20:10, 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 techtonik@gmail.com 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 donald@stufft.io 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
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.
On Mar 6, 2014, at 4:10 AM, Marius Gedminas marius@pov.lt wrote:
On Wed, Mar 05, 2014 at 07:01:49AM -0500, Donald Stufft wrote:
On Mar 5, 2014, at 5:48 AM, anatoly techtonik techtonik@gmail.com 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 donald@stufft.io 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 donald@stufft.io wrote:
On Mar 6, 2014, at 4:10 AM, Marius Gedminas marius@pov.lt wrote:
On Wed, Mar 05, 2014 at 07:01:49AM -0500, Donald Stufft wrote:
On Mar 5, 2014, at 5:48 AM, anatoly techtonik techtonik@gmail.com 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 donald@stufft.io 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. =)
On Mar 6, 2014, at 7:28 AM, Donald Stufft donald@stufft.io wrote:
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
On Mar 7, 2014, at 7:45 AM, Marius Gedminas marius@pov.lt wrote:
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