Closed ViktorHaag closed 5 years ago
What requirements? There's already no dependency on jsonschema version since #34 was closed.
I have to admit, I'm also stumped where the requirements come from; is it perhaps because the release package currently on PyPi was built with requirements that the current HEAD in source doesn't have?j
(Please note, the example below shows me removing jsonschema 3.0.1, which I had force-installed despite pip's warning about dependencies...)
/usr/local/src : pip3 uninstall jsonmerge jsonschema
Uninstalling jsonmerge-1.5.2:
Would remove:
/usr/local/lib/python3.7/site-packages/jsonmerge-1.5.2.dist-info/*
/usr/local/lib/python3.7/site-packages/jsonmerge/*
Proceed (y/n)? y
Successfully uninstalled jsonmerge-1.5.2
Uninstalling jsonschema-3.0.1:
Would remove:
/usr/local/bin/jsonschema
/usr/local/lib/python3.7/site-packages/jsonschema-3.0.1.dist-info/*
/usr/local/lib/python3.7/site-packages/jsonschema/*
Proceed (y/n)? y
Successfully uninstalled jsonschema-3.0.1
/usr/local/src : pip3 install jsonmerge
Collecting jsonmerge
Collecting jsonschema<3.0.0 (from jsonmerge)
Using cached https://files.pythonhosted.org/packages/77/de/47e35a97b2b05c2fadbec67d44cfcdcd09b8086951b331d82de90d2912da/jsonschema-2.6.0-py2.py3-none-any.whl
Installing collected packages: jsonschema, jsonmerge
Successfully installed jsonmerge-1.5.2 jsonschema-2.6.0
Hmmm -- maybe this is a caching issue? ... No, I'm not sure it is:
/usr/local/src : pip3 uninstall jsonmerge jsonschema
Uninstalling jsonmerge-1.5.2:
Would remove:
/usr/local/lib/python3.7/site-packages/jsonmerge-1.5.2.dist-info/*
/usr/local/lib/python3.7/site-packages/jsonmerge/*
Proceed (y/n)? y
Successfully uninstalled jsonmerge-1.5.2
Uninstalling jsonschema-2.6.0:
Would remove:
/usr/local/bin/jsonschema
/usr/local/lib/python3.7/site-packages/jsonschema-2.6.0.dist-info/*
/usr/local/lib/python3.7/site-packages/jsonschema/*
Proceed (y/n)? y
Successfully uninstalled jsonschema-2.6.0
/usr/local/src : pip3.7 install --no-cache-dir jsonmerge
Collecting jsonmerge
Downloading https://files.pythonhosted.org/packages/e5/d8/f06bd65469b25010ff4b924fbd09a8f2a849325cbce947f56516858df17e/jsonmerge-1.5.2.tar.gz
Collecting jsonschema<3.0.0 (from jsonmerge)
Downloading https://files.pythonhosted.org/packages/77/de/47e35a97b2b05c2fadbec67d44cfcdcd09b8086951b331d82de90d2912da/jsonschema-2.6.0-py2.py3-none-any.whl
Installing collected packages: jsonschema, jsonmerge
Running setup.py install for jsonmerge ... done
Successfully installed jsonmerge-1.5.2 jsonschema-2.6.0
Yep, I've determined that's the case. Grabbing the release tarball from pypi and looking inside for the setup.py
file we see:
install_requires = [ 'jsonschema<3.0.0' ],
and in the jsonmerge.egg-info/requires.txt file:
jsonschema<3.0.0
Probably just need to roll another release?
..possibly change it to < 3.1.0 ?
@terrisgit -- it looks like the current state of the jsonmerge code has an unpinned dependency on the jsonschema package.
I think the intention was to have an unpinned dependency but this was not picked up in the released package on PyPi?
Pinning or not pinning is something the maintainer(s) can certainly decide on; whichever way that goes, I'd kind of like a new release put on PyPi that unblocks the dependency pinning on an older version of jsonschema. I'd be happy to help, but I think the only people who can tag and build and release a new version of this package are the maintainers...
According to Git, it looks like the most recent dependency on the jsonschema version was...
This matches pip install jsonmerge==1.5.2 jsonschema==3.0.1
("jsonmerge 1.5.2 has requirement jsonschema<3.0.0, but you'll have jsonschema 3.0.1 which is incompatible"), and can be seen downloading the package directly from PyPi:
curl -s https://files.pythonhosted.org/packages/e5/d8/f06bd65469b25010ff4b924fbd09a8f2a849325cbce947f56516858df17e/jsonmerge-1.5.2.tar.gz | tar xOvf - jsonmerge-1.5.2/setup.py
# vim:ts=4 sw=4 expandtab softtabstop=4
from setuptools import setup
setup(name='jsonmerge',
version='1.5.2',
description='Merge a series of JSON documents.',
license='MIT',
long_description=open("README.rst").read(),
author='Tomaz Solc',
author_email='tomaz.solc@tablix.org',
packages = [ 'jsonmerge' ],
install_requires = [ 'jsonschema<3.0.0' ],
test_suite = 'tests',
classifiers = [
"License :: OSI Approved :: MIT License",
"Programming Language :: Python",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 3",
"Intended Audience :: Developers",
],
)
There are 6 commits in master since the 1.5.2 release. Would it be okay to release a 1.5.3?
Who are you asking?
Dear all,
jsonmerge 1.6.0 is now on PyPI. This release removes the dependency on jsonschema<=3.0.0.
Please understand that the contents of the GitHub repository might contain work that has not been released to PyPI yet. This is not something specific to jsonmerge. I prefer releases on PyPI to be well tested and stable. I have limited time to work on jsonmerge and hence don't release to PyPI very often.
If you need some feature that has not been released to PyPI yet, it's easy to install jsonmerge from source, as README shows. pip can also install a package directly from GitHub with something like:
pip install git+https://github.com/avian2/jsonmerge@master
Thanks very much for your effort with this package, @avian2 -- it's much appreciated.
The tests run clean with both Python 3.7 and Python 2.7 using jsonschema-3.0.1 and these packages in a virtual env:
Please consider moving the requirements forward to accommodate for jsonschema 3.0.1.