jmespath / jmespath.py

JMESPath is a query language for JSON.

Home Page:http://jmespath.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Infrastructure things

dmyersturnbull opened this issue · comments

Looking through the tests, I noticed a few things I figured I could fix. I think JMESPath is a fantastic tool/standard, and I'd like to help out by cleanup and improving CI/CD if the devs think these are useful changes. I can make most of them quite quickly.

  • GitHub workflows could test windows and macos
  • Drop or replace ancient tox config (python 2.6 and nose)
  • Drop past-EOL Python versions 3.6 and 3.7
  • Remove OrderedDict in most places; Python 3.7+ guarantees order
  • Replace sys.maxint (removed in Python 3) with sys.maxsize (guaranteed to exist)
  • Clarify test dependencies
  • Fully unittest with pytest
  • Use of pathlib and encoding='utf8' for better platform independence (also: always close open())
  • Fix license header saying "Copyright (c) 2013 Amazon.com, Inc. or its affiliates. All Rights Reserved". I assume this isn't correct, and that it's MIT-licensed.
  • Run pyupgrade to improve code
  • pre-commit to run pyupgrade, isort, and black to simplify future diffs
  • consider using Poetry
  • add badges for tests passing and code quality
  • add contributor guide (include whatever requirements the devs have)
  • Drop past-EOL Python versions 3.6 and 3.7
  • Run pyupgrade to improve code

These are done in PR #315.