Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot install/build on Python 3.7-dev #126

Closed
hugovk opened this issue Jan 31, 2018 · 44 comments
Closed

Cannot install/build on Python 3.7-dev #126

hugovk opened this issue Jan 31, 2018 · 44 comments

Comments

@hugovk
Copy link
Contributor

hugovk commented Jan 31, 2018

aws-cli depends on PyYAML>=3.10,<=3.12.

However, when running on Python 3.7-dev on Travis CI, PyYAML cannot be built:

    ext/_yaml.c:24215:11: error: ‘PyThreadState’ has no member named ‘exc_type’
         tstate->exc_type = local_type;
               ^
    ext/_yaml.c:24216:11: error: ‘PyThreadState’ has no member named ‘exc_value’
         tstate->exc_value = local_value;
               ^
    ext/_yaml.c:24217:11: error: ‘PyThreadState’ has no member named ‘exc_traceback’
         tstate->exc_traceback = local_tb;
               ^
    error: command 'gcc' failed with exit status 1

https://travis-ci.org/hugovk/aws-cli/jobs/335698944#L1466

This also affects other projects which depend on aws-cli, like pika:

  ext/_yaml.c: In function ‘__Pyx__ExceptionSave’:
  ext/_yaml.c:24143:19: error: ‘PyThreadState’ has no member named ‘exc_type’
       *type = tstate->exc_type;
                     ^
  ext/_yaml.c:24144:20: error: ‘PyThreadState’ has no member named ‘exc_value’
       *value = tstate->exc_value;
                      ^
  ext/_yaml.c:24145:17: error: ‘PyThreadState’ has no member named ‘exc_traceback’
       *tb = tstate->exc_traceback;
                   ^
  ext/_yaml.c: In function ‘__Pyx__ExceptionReset’:
  ext/_yaml.c:24152:22: error: ‘PyThreadState’ has no member named ‘exc_type’
     member named ‘exc_traceback’
       tstate->exc_traceback = local_tb;
             ^
  error: command 'gcc' failed with exit status 1
  
  ----------------------------------------
  Failed building wheel for PyYAML
  Running setup.py clean for PyYAML
Failed to build PyYAML

https://travis-ci.org/pika/pika/jobs/335516418

Any idea what's up?

@lukebakken
Copy link

lukebakken commented Jan 31, 2018

There may be a workaround in aws/aws-cli#2290

Pinning awscli is a valid workaround, at least for Pika.

jaraco added a commit to jaraco/jaraco.fabric that referenced this issue Feb 3, 2018
@The-Compiler
Copy link
Contributor

The-Compiler commented Feb 10, 2018

I think the Cython code just needs to be regenerated to be compatible with Python 3.7? Installing from git+https://github.com/yaml/pyyaml.git instead seems to work for me.

See cython/cython#1955

dmonroy added a commit to dmonroy/docker-services that referenced this issue Feb 11, 2018
linuxdaemon added a commit to snoonetIRC/async-irc that referenced this issue Feb 12, 2018
@lmazuel
Copy link

lmazuel commented Feb 14, 2018

I also have the same problem with 3.7-dev, but the error is not exactly the same (but considering the generic title of this issue, I think it's the right place :))
https://travis-ci.org/Azure/azure-sdk-for-python/jobs/341574626

../../../virtualenv/python3.7-dev/lib/python3.7/site-packages/yaml/__init__.py:70: in load
    loader = Loader(stream)
../../../virtualenv/python3.7-dev/lib/python3.7/site-packages/yaml/cyaml.py:31: in __init__
    CParser.__init__(self, stream)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
>   ???
E   AttributeError: 'str' object has no attribute 'read'
ext/_yaml.pyx:269: AttributeError

All other Python jobs are working as expected.

@jaraco
Copy link

jaraco commented Feb 23, 2018

Installing from [github] seems to work for me.

Same for me. pip install git+https://github.com/yaml/pyyaml.git. Of course, this workaround is a clumsy one, requiring manual intervention on any project adopting Python 3.7. It would be nice to see a updated release with wheels on PyPI to help ease the transition for other projects as they seek to support Python 3.7.

@wumpus
Copy link

wumpus commented Feb 27, 2018

Somewhat ironic, but the latest checkin to git 298e079 adds a fallback to the install process to use pure python if the C compile fails. So installing from git can have 2 pretty different outcomes, with different bugs.

@jakirkham
Copy link

Honestly just a fresh tag and new sdist would be great. The last tag is from 2016.

clrpackages pushed a commit to clearlinux-pkgs/pytest-runner that referenced this issue Apr 2, 2018
Jason R. Coombs (9):
      Older Setuptools will never work on Python 3.7.
      Save the pip cache across builds. Ref pypa/setuptools#1279.
      Add workaround for build failures on Python 3.7 (yaml/pyyaml#126).
      Run flake8 with tests. Add flake8 config to ignore common exclusions. Add comments to testing and docs extras to aid with merges.
      Add appveyor badge (commented). Disable RTD by default.
      Limit workaround to affected Python
      Merge https://github.com/jaraco/skeleton
      Declare dependency on Setuptools. Fixes #40.
      Moved dependency check to runtime. Fixes #40.

4.2
===

* #40: Remove declared dependency and instead assert it at
  run time.

4.1
===

* #40: Declare dependency on Setuptools in package metadata.
clrpackages pushed a commit to clearlinux-pkgs/keyring that referenced this issue Apr 6, 2018
…ds, using entry points. Deprecate reliance on loading without entry points (with a warning presented). Ref #310.

Dan Sully (1):
      Use 'entrypoints' instead of pkg_resources to avoid import time overhead.

Hans-Peter Jansen (1):
      More specific DE hints

Jakub Wilk (1):
      Fix typo in fail.Keyring method name

Jason R. Coombs (26):
      Disable pytest-sugar until Teemu/pytest-sugar#133 is addressed.
      Bring back pytest-sugar with a minimum version to support Pytest 3.4.
      Add link to keyrings.cryptfile. Push keyrings.alt to bottom and signal security concerns. Ref jaraco/keyrings.alt#25
      Link to the third party backends rather than mentioning only keyrings.alt.
      It's macOS now
      Merge pull request #305 from jwilk-forks/spelling
      Save the pip cache across builds. Ref pypa/setuptools#1279.
      Add workaround for build failures on Python 3.7 (yaml/pyyaml#126).
      Run flake8 with tests. Add flake8 config to ignore common exclusions. Add comments to testing and docs extras to aid with merges.
      Add appveyor badge (commented). Disable RTD by default.
      Merge https://github.com/jaraco/skeleton
      Feed the hobgoblins (delint).
      Homebrew now installs Python 3 with pip by default for 'python'
      Now load all backends, including the native backends, using entry points. Deprecate reliance on loading without entry points (with a warning presented). Ref #310.
      Merge pull request #312 from dsully/master
      Update changelog. Ref #312.
      Try running ensurepip to see if macos tests will run
      Prefer 'macos' to 'osx'
      Merge branch 'master' into feature/310-all-backends-by-entry-points
      Try linking Python
      Add Python's bins to the path
      pyinstaller hook may now rely entirely on the entry points
      Ensure 'keyring.backends' is used consistently.
      On second thought, use a major version bump for clarity.
      Merge branch 'feature/310-all-backends-by-entry-points'
      Update changelog. Ref #314.

12.0.1
------

* #314: No changes except to rebuild.

12.0.0
------

* #310: Keyring now loads all backends through entry
  points.

For most users, this release will be fully compatible. Some
users may experience compatibility issues if entrypoints is
not installed (as declared) or the metadata on which entrypoints
relies is unavailable. For that reason, the package is released

(NEWS truncated at 15 lines)
maroux added a commit to maroux/hedwig-python that referenced this issue Apr 26, 2018
Mainly because pyyaml hasn't been published to work with Python3.7 (yaml/pyyaml#126) and this isn't super critical anyway
mingwandroid added a commit to AnacondaRecipes/pyyaml-feedstock that referenced this issue Apr 28, 2018
mingwandroid added a commit to AnacondaRecipes/pyyaml-feedstock that referenced this issue Apr 28, 2018
@alexprengere
Copy link

I am repeating what has been said in this thread, but since Python 3.7 release is approaching (b4 is out now), it would be truly awesome if a new package could be uploaded to PyPI (problem is fixed when installing from github). This would make the experience of testing the upcoming release much smoother.

tonyfast added a commit to deathbeds/importnb that referenced this issue May 6, 2018
tonyfast added a commit to deathbeds/importnb that referenced this issue May 6, 2018
* Pin wheel, twine, and setuptools versions to allow a markdown description on the warehouse
* Rewrite the unittests as pytests and add a watcher for improved development in lab.
* yaml/pyyaml#126 install yaml from github to pass 3.7dev
andy-maier added a commit to pywbem/pywbem that referenced this issue Aug 19, 2018
Details:

- Added Python 3.7 to setup.cfg, .travis.yml, and appveyor.xml.
  In .travis.yml, specified distro: xenial for Python 3.7, because of Travis
  issue #9069 (travis-ci/travis-ci#9069).
  In .travis.yml, now running py34 latest and py37 minimum.

- Changed Python version support statement in docs/intro.rst to
  "... 3.4, and higher", to avoid a long list of Python 3.x versions.

- Added support to CIMInt (superclass of Uint32, etc.) to accept
  a keyword argument named 'x' for the value, and to pass it
  on as a positional argument. Reason is that Python 3.7 removed
  support for passing the value to int() as a keyword argument
  named 'x'.

- Fixed test case "Dict from keyword args" in `test_NocaseDict_init()`
  to expect a UserWarning only before Python 3.7. Fixed the version
  that is mentioned in the message of the UserWarning in
  `NocaseDict.__init__()`, and made the check there consistent with
  the message.

- Increased minimum version of the `PyYAML` package from 3.12 to 3.13,
  in order to pick up its Python 3.7 support. That version also declares
  3.7 as supported on Pypi. For details, see PyYAML issue #126
  (yaml/pyyaml#126).

- Increased minimum version of the `lxml` package from 4.0.0 to 4.1.1,
  in order to pick up its Python 3.7 support. Note that while 4.1.1
  works for us, only 4.2.0 declares Python 3.7 support on Pypi.

- Increased minimum version of the `pyzmq` package from 16.0.2 to 16.0.4,
  in order to pick up its Python 3.7 support. Note that while 16.0.4
  works for us, only 17.0.0 declares Python 3.6(!) support on Pypi,
  and Python 3.7 support is not officially declared on Pypi yet for this
  package.

- Increased minimum version of the `httpretty` package from 0.8.14 to 0.9.5
  in order to pick up its Python 3.7 support, but only for Python > 2.6.
  The 0.9.5 version also declares 3.7 as supported on Pypi.
  For Python == 2.6, the minimum httpretty version remains 0.8.14 because
  starting with 0.9, httpretty removed Python 2.6 support.i

Signed-off-by: Andreas Maier <andreas.r.maier@gmx.de>
andy-maier added a commit to pywbem/pywbem that referenced this issue Aug 19, 2018
Details:

- Added Python 3.7 to setup.cfg, .travis.yml, and appveyor.xml.
  In .travis.yml, specified distro: xenial for Python 3.7, because of Travis
  issue #9069 (travis-ci/travis-ci#9069).
  In .travis.yml, now running py34 latest and py37 minimum.

- Changed Python version support statement in docs/intro.rst to
  "... 3.4, and higher", to avoid a long list of Python 3.x versions.

- Added support to CIMInt (superclass of Uint32, etc.) to accept
  a keyword argument named 'x' for the value, and to pass it
  on as a positional argument. Reason is that Python 3.7 removed
  support for passing the value to int() as a keyword argument
  named 'x'.

- Fixed test case "Dict from keyword args" in `test_NocaseDict_init()`
  to expect a UserWarning only before Python 3.7. Fixed the version
  that is mentioned in the message of the UserWarning in
  `NocaseDict.__init__()`, and made the check there consistent with
  the message.

- Increased minimum version of the `PyYAML` package from 3.12 to 3.13,
  in order to pick up its Python 3.7 support. That version also declares
  3.7 as supported on Pypi. For details, see PyYAML issue #126
  (yaml/pyyaml#126).

- Increased minimum version of the `lxml` package from 4.0.0 to 4.1.1,
  in order to pick up its Python 3.7 support. Note that while 4.1.1
  works for us, only 4.2.0 declares Python 3.7 support on Pypi.

- Increased minimum version of the `pyzmq` package from 16.0.2 to 16.0.4,
  in order to pick up its Python 3.7 support. Note that while 16.0.4
  works for us, only 17.0.0 declares Python 3.6(!) support on Pypi,
  and Python 3.7 support is not officially declared on Pypi yet for this
  package.

- Increased minimum version of the `httpretty` package from 0.8.14 to 0.9.5
  in order to pick up its Python 3.7 support, but only for Python > 2.6.
  The 0.9.5 version also declares 3.7 as supported on Pypi.
  For Python == 2.6, the minimum httpretty version remains 0.8.14 because
  starting with 0.9, httpretty removed Python 2.6 support.i

Signed-off-by: Andreas Maier <andreas.r.maier@gmx.de>
andy-maier added a commit to pywbem/pywbem that referenced this issue Aug 20, 2018
Details:

- Added Python 3.7 to setup.cfg, .travis.yml, and appveyor.xml.
  In .travis.yml, specified distro: xenial for Python 3.7, because of Travis
  issue #9069 (travis-ci/travis-ci#9069).
  In .travis.yml, now running py34 latest and py37 minimum.

- Changed Python version support statement in docs/intro.rst to
  "... 3.4, and higher", to avoid a long list of Python 3.x versions.

- Added support to CIMInt (superclass of Uint32, etc.) to accept
  a keyword argument named 'x' for the value, and to pass it
  on as a positional argument. Reason is that Python 3.7 removed
  support for passing the value to int() as a keyword argument
  named 'x'.

- Fixed test case "Dict from keyword args" in `test_NocaseDict_init()`
  to expect a UserWarning only before Python 3.7. Fixed the version
  that is mentioned in the message of the UserWarning in
  `NocaseDict.__init__()`, and made the check there consistent with
  the message.

- Increased minimum version of the `PyYAML` package from 3.12 to 3.13,
  in order to pick up its Python 3.7 support. That version also declares
  3.7 as supported on Pypi. For details, see PyYAML issue #126
  (yaml/pyyaml#126).

- Increased minimum version of the `lxml` package from 4.0.0 to 4.2.4,
  in order to pick up its Python 3.7 support.
  Starting with 4.2.0, lxml declares 3.7 as supported on Pypi, but we
  need 4.2.4 in order to fix an issue with missing libxml2 on Windows.

- Increased minimum version of the `pyzmq` package from 16.0.2 to 16.0.4,
  in order to pick up its Python 3.7 support. Note that while 16.0.4
  works for us, only 17.0.0 declares Python 3.6(!) support on Pypi,
  and Python 3.7 support is not officially declared on Pypi yet for this
  package.

- Increased minimum version of the `httpretty` package from 0.8.14 to 0.9.5
  in order to pick up its Python 3.7 support, but only for Python > 2.6.
  The 0.9.5 version also declares 3.7 as supported on Pypi.
  For Python == 2.6, the minimum httpretty version remains 0.8.14 because
  starting with 0.9, httpretty removed Python 2.6 support.i

Signed-off-by: Andreas Maier <andreas.r.maier@gmx.de>
andy-maier added a commit to pywbem/pywbem that referenced this issue Aug 22, 2018
Details:

- Added Python 3.7 to setup.cfg, .travis.yml, and appveyor.xml.
  In .travis.yml, specified distro: xenial for Python 3.7, because of Travis
  issue #9069 (travis-ci/travis-ci#9069).
  In .travis.yml, now running py34 latest and py37 minimum.

- Changed Python version support statement in docs/intro.rst to
  "... 3.4, and higher", to avoid a long list of Python 3.x versions.

- Added support to CIMInt (superclass of Uint32, etc.) to accept
  a keyword argument named 'x' for the value, and to pass it
  on as a positional argument. Reason is that Python 3.7 removed
  support for passing the value to int() as a keyword argument
  named 'x'.

- Fixed test case "Dict from keyword args" in `test_NocaseDict_init()`
  to expect a UserWarning only before Python 3.7. Fixed the version
  that is mentioned in the message of the UserWarning in
  `NocaseDict.__init__()`, and made the check there consistent with
  the message.

- Increased minimum version of the `PyYAML` package from 3.12 to 3.13,
  in order to pick up its Python 3.7 support. That version also declares
  3.7 as supported on Pypi. For details, see PyYAML issue #126
  (yaml/pyyaml#126).

- Increased minimum version of the `lxml` package from 4.0.0 to 4.2.4,
  in order to pick up its Python 3.7 support.
  Starting with 4.2.0, lxml declares 3.7 as supported on Pypi, but we
  need 4.2.4 in order to fix an issue with missing libxml2 on Windows.

- Increased minimum version of the `pyzmq` package from 16.0.2 to 16.0.4,
  in order to pick up its Python 3.7 support. Note that while 16.0.4
  works for us, only 17.0.0 declares Python 3.6(!) support on Pypi,
  and Python 3.7 support is not officially declared on Pypi yet for this
  package.

- Increased minimum version of the `httpretty` package from 0.8.14 to 0.9.5
  in order to pick up its Python 3.7 support, but only for Python > 2.6.
  The 0.9.5 version also declares 3.7 as supported on Pypi.
  For Python == 2.6, the minimum httpretty version remains 0.8.14 because
  starting with 0.9, httpretty removed Python 2.6 support.i

Signed-off-by: Andreas Maier <andreas.r.maier@gmx.de>
clrpackages pushed a commit to clearlinux-pkgs/cheroot that referenced this issue Sep 3, 2018
…ml/pyyaml#126).

Dan Peschman (1):
      Pass client certificate fields to WSGI environment; unit test HTTPS

Jason R. Coombs (36):
      reference the license file in metadata
      Use https
      Add build-docs env in tox.
      Run only default environment by default.
      To support namespace packages, Setuptools must be 31.0.1. This change is necessary with the adoption of tox-venv, which uses Python's venv, which does not install the latest setuptools by default.
      Need to avoid .eggs in recursing dirs. Ref pypa/setuptools-scm#212.
      Use tox-venv for future compatibility.
      Disable pytest-sugar until Teemu/pytest-sugar#133 is addressed.
      Bring back pytest-sugar with a minimum version to support Pytest 3.4.
      Save the pip cache across builds. Ref pypa/setuptools#1279.
      Add workaround for build failures on Python 3.7 (yaml/pyyaml#126).
      Run flake8 with tests. Add flake8 config to ignore common exclusions. Add comments to testing and docs extras to aid with merges.
      Add appveyor badge (commented). Disable RTD by default.
      Limit workaround to affected Python
      Bump minimum pytest version
      Add pyproject.toml declaring build dependencies.
      When ignoring linter warnings, document the reason.
      Disable the (broken) IPv6 in Travis. Ref travis-ci/travis-ci#8361.
      Don't match issues if preceeded by some other indicator.
      skip_upload_docs is default
      Drop the dot; http://blog.pytest.org/2016/whats-new-in-pytest-30/
      Rely on declarative config to create long_description.
      Remove workaround for pyyaml 126.
      Revert "Remove workaround for pyyaml 126."
      We're getting close, but Python 3.7 still requires a workaround
      Use xenial to include support for Python 3.7.
      Remove release, no longer needed. Use twine instead.
      Also ignore W504 in flake8, following the indication in OCA/maintainer-quality-tools that neither W503 nor W504 are worthwhile in general.
      Release of pyyaml 3.13 seems to have fixed install issues on Python 3.7.
      Block pytest 3.7.3 due to pytest-dev/pytest#3888.
      Twiddle the docstrings to make pre-commit happy. Ref #52.
      Use Python-2-compatible super calls
      Merge pull request #108 from cherrypy/pr/52-require-client-certificates
      Update changelog. Ref #108, #52. Fixes cherrypy/cherrypy#1001.
      Merge https://github.com/jaraco/skeleton
      Run pre-commit

Sviatoslav Sydorenko (8):
      Install pyenv for OSX from master of brew
      Apply chmod on UNIX socket after creation
      Split HTTPServer.bind into 3 stages
      Turn TODO comment into FIXME
      Separate bind method for UNIX file socket
      Implement smart file premission setters
      Add changelog about #93/#110
      Partially revert "Merge https://github.com/jaraco/skeleton"

v6.5.1
======
- :issue:`93` via :pr:`110`: Improve UNIX socket fs access mode
  in :py:meth:`cheroot.server.HTTPServer.prepare` on a file socket
  when starting to listen to it.

v6.5.0
======

- :cp-issue:`1001` via :pr:`52` and :pr:`108`: Add support for
  validating client certificates.
andy-maier added a commit to zhmcclient/python-zhmcclient that referenced this issue Sep 4, 2018
Details:

* Added support for Python 3.7. This required increasing the minimum versions
  of several Python packages in order to pick up their Python 3.7 support:

  - `pyzmq` from 16.0.2 to 16.0.4 (While 16.0.4 works for this, only
    17.0.0 declares Python 3.6(!) support on Pypi, and Python 3.7 support is not
    officially declared on Pypi yet for this package).

  - `PyYAML` from 3.12 to 3.13 (see PyYAML issue
    yaml/pyyaml#126).

Signed-off-by: Andreas Maier <maiera@de.ibm.com>
andy-maier added a commit to zhmcclient/python-zhmcclient that referenced this issue Sep 4, 2018
Details:

* Added support for Python 3.7. This required increasing the minimum versions
  of several Python packages in order to pick up their Python 3.7 support:

  - `pyzmq` from 16.0.2 to 16.0.4 (While 16.0.4 works for this, only
    17.0.0 declares Python 3.6(!) support on Pypi, and Python 3.7 support is not
    officially declared on Pypi yet for this package).

  - `PyYAML` from 3.12 to 3.13 (see PyYAML issue
    yaml/pyyaml#126).

* Added Python 3.7 jobs to Travis and Appveyor. Disabled the corresponding
  Python 3.6 runs, in exchange.

Signed-off-by: Andreas Maier <maiera@de.ibm.com>
andy-maier added a commit to zhmcclient/python-zhmcclient that referenced this issue Sep 4, 2018
Details:

* Added support for Python 3.7. This required increasing the minimum versions
  of several Python packages in order to pick up their Python 3.7 support:

  - `pyzmq` from 16.0.2 to 16.0.4 (While 16.0.4 works for this, only
    17.0.0 declares Python 3.6(!) support on Pypi, and Python 3.7 support is not
    officially declared on Pypi yet for this package).

  - `PyYAML` from 3.12 to 3.13 (see PyYAML issue
    yaml/pyyaml#126).

* Added Python 3.7 jobs to Travis and Appveyor. Disabled the corresponding
  Python 3.6 runs, in exchange. For the new Python 3.7 jobs in Travis,
  specified dist=xenial because trusty does not have Python 3.7 support.

Signed-off-by: Andreas Maier <maiera@de.ibm.com>
andy-maier added a commit to zhmcclient/python-zhmcclient that referenced this issue Sep 4, 2018
Details:

* Added support for Python 3.7. This required increasing the minimum versions
  of several Python packages in order to pick up their Python 3.7 support:

  - `pyzmq` from 16.0.2 to 16.0.4 (While 16.0.4 works for this, only
    17.0.0 declares Python 3.6(!) support on Pypi, and Python 3.7 support is not
    officially declared on Pypi yet for this package).

  - `PyYAML` from 3.12 to 3.13 (see PyYAML issue
    yaml/pyyaml#126).

* Added Python 3.7 jobs to Travis and Appveyor. Disabled the corresponding
  Python 3.6 runs, in exchange. For the new Python 3.7 jobs in Travis,
  specified dist=xenial and sudo=required because trusty does not have
  Python 3.7 support.

Signed-off-by: Andreas Maier <maiera@de.ibm.com>
andy-maier added a commit to zhmcclient/python-zhmcclient that referenced this issue Sep 4, 2018
Details:

* Added support for Python 3.7. This required increasing the minimum versions
  of several Python packages in order to pick up their Python 3.7 support:

  - `pyzmq` from 16.0.2 to 16.0.4 (While 16.0.4 works for this, only
    17.0.0 declares Python 3.6(!) support on Pypi, and Python 3.7 support is not
    officially declared on Pypi yet for this package).

  - `PyYAML` from 3.12 to 3.13 (see PyYAML issue
    yaml/pyyaml#126).

* Added Python 3.7 jobs to Travis and Appveyor. Disabled the corresponding
  Python 3.6 runs, in exchange. For the new Python 3.7 jobs in Travis,
  specified dist=xenial and sudo=required because trusty does not have
  Python 3.7 support.

Signed-off-by: Andreas Maier <maiera@de.ibm.com>
fxcoudert pushed a commit to Homebrew/homebrew-core that referenced this issue Oct 19, 2018
Without this, PyYAML fails to compile on Python 3.7: yaml/pyyaml#126

Closes #33013.

Signed-off-by: FX Coudert <fxcoudert@gmail.com>
@alysivji
Copy link

alysivji commented Dec 1, 2018

Got this same error inside of a container. I installed libyaml via apt-get

RUN apt-get update -y \
    && apt-get install -y libyaml-dev \
    && apt-get clean

ericwb added a commit to PyCQA/bandit that referenced this issue Dec 10, 2018
The minimum version for Python 3.7 to work with PyYAML is 3.13.

See:
yaml/pyyaml#126

Fixes: #409

Signed-off-by: Eric Brown <browne@vmware.com>
grisumbras pushed a commit to grisumbras/conan that referenced this issue Dec 27, 2018
Installation fails with Python 3.7 and PyYAML 3.12 due to yaml/pyyaml#126.

Fixes conan-io#3249.
helperbot-recidiviz pushed a commit to Recidiviz/pulse-data that referenced this issue Mar 21, 2019
* Remove urlfetch monkey patch (Recidiviz/recidiviz-data#239)

* migrate from users to cloud iap (Recidiviz/recidiviz-data#241)

* move sessions to new datastore api (Recidiviz/recidiviz-data#236)

Part of Recidiviz/recidiviz-data#176
* move sessions to new datastore api
* Use emulator to test writing and reading sessions
* Move emulator environment vars into a fixture

* remove unnecessary pytest emulator mark (Recidiviz/recidiviz-data#277)

* Move secrets to new datastore api (Recidiviz/recidiviz-data#276)

* Removed local functionality, added new fields. (Recidiviz/recidiviz-data#282)

* add test only annotation (Recidiviz/recidiviz-data#281)

* Migrated push queues from TaskQueues to Cloud Tasks. (Recidiviz/recidiviz-data#323)

* Remove urlfetch monkey patch (Recidiviz/recidiviz-data#239)

* migrate from users to cloud iap (Recidiviz/recidiviz-data#241)

* move sessions to new datastore api (Recidiviz/recidiviz-data#236)

Part of Recidiviz/recidiviz-data#176
* move sessions to new datastore api
* Use emulator to test writing and reading sessions
* Move emulator environment vars into a fixture

* remove unnecessary pytest emulator mark (Recidiviz/recidiviz-data#277)

* Move secrets to new datastore api (Recidiviz/recidiviz-data#276)

* Removed local functionality, added new fields. (Recidiviz/recidiviz-data#282)

* Migrated scraper.py and worker.py from TaskQueues to Cloud Tasks.

* Added google-cloud-tasks to Pipenv.

* Fixed Worker tests, removed App Engine testbed.

* Migrated scraper_tests from TaskQueues to Cloud Tasks.

* Use same queue_path as scrapers.

* Use same queue_path as scrapers for remaining calls.

* Added APPLICATION_ID to Travis env.

* Migrated us_vt_scraper_test from TaskQueue to Cloud Tasks.

* Removed extra newline.

* Migrated us_ny_scraper_test from TaskQueue to Cloud Tasks.

* Commenting out unused tests to satisfy pylint.

* Deleting unused code to please pylint.

* Moved push queue operations to their own module.

* Removed taskqueue testbed stuff.

* Moved queues_test.py to recidiviz/tests/ingest/

* Switched from camelCase to lower_with_under naming for tests.

* Refactor docket to use pubsub (Recidiviz/recidiviz-data#335)

* move docket to pubsub

* remove snapshot logic from docket

* Fix python3 build (Recidiviz/recidiviz-data#352)

* fix infer release usage of sessions

* remove app identity usage from tests

* fix get closed only sessions

* remove entity kinds from regions.yaml (Recidiviz/recidiviz-data#360)

also removes related code that uses the entity kinds, most notable the
test data populator and `compare_and_set_snapshot` from scraper.

* remove us-ny specific models (Recidiviz/recidiviz-data#374)

* Fix python build

* Remove deferred (Recidiviz/recidiviz-data#369)

* Remove uses of deferred throughout

* adding to docket should use pubsub batching

* add comment about name query

* add another test

* Remove appengine library use (Recidiviz/recidiviz-data#413)

* Remove lib directory (Recidiviz/recidiviz-data#411)

* Switch to python 3 interpreter (Recidiviz/recidiviz-data#421)

* Switch to python 3 interpreter

* don't cache packages for now

* pin pyyaml to 3.13 to fix breakage

yaml/pyyaml#126

* fix pylint

* remove object inheritance

* read names file in text mode

* fix lint errors

* update requirements.txt

* re-enable pip caching on travis

* fix queue test

* fix more

* Add pipfile to gcloudignore

* Fix pipfile gcloudignore

* Remove `base.yaml`

* Remove defunct datastore indices

* Manually setup cloud logging client

* Update `in_prod` to check custom env var

* Add google-cloud-logging to pipfile/requirements

* Fix environment test

* Rewrite docket to avoid repeated get calls

* fix docket test

* remove parens from class defs

* decode bytes

* update metaclass syntax for scraper

* update persistence imports

* fix auth test

* pylint disable unused __new__ buildable_attr

* remove app id env var

* weird compression encode/decode

* fix compression encoding / decoding

* last fixes (Recidiviz/recidiviz-data#431)

* Add pymysql to pipenv & requirements

* Remove missed empty parens on classes

* Add note about pubsub emulator for tests

* Fix comment in sessions

* Fix some comments

GitOrigin-RevId: 665d5323081ff78922b4194a292bd117a4c958dd
@MatthewRalston
Copy link

MatthewRalston commented May 20, 2019

I know this thread is kind of dead, but Python 3.7 has been out for a while and is used in production often. I'm still having gcc errors with pyyaml, which again is a dependency of many packages.

gcc 8.3.0
Python3.7.3

@23doors
Copy link

23doors commented May 20, 2019

This thread is kind of dead because pyyaml==3.13 fixed it. Simply use 3.13 with python 3.7.

noris-bot pushed a commit to noris-network/koris that referenced this issue Nov 6, 2019
clrpackages pushed a commit to clearlinux-pkgs/jsonpickle that referenced this issue May 1, 2020
…1.4.1

David Aguilar (56):
      tests: add tests for pandas Series with multi indexes
      pandas: improve serialization for Series objects
      pandas: improve serialization for Series objects
      pandas: add more tests for pandas.Series multi-indexes
      tests: add enum tests demonstrating more supported use cases
      jsonpickle: improve serialization for non-string keys
      pickler: simplify _flatten_key_value_pair()
      jsonpickle: preserve dict order on Python3
      travis: disable python3.5 for now
      compat: support python3.4 + 3.5
      docs: update author details
      conf: wrap filter() in list()
      unpickler: use only add or append, but not both
      handlers: add a custom handler for array.array
      bson: add tests demonstrating incremental restoration
      datetime: use ISO format for string representation
      tests: add a unit test demonstrating Exceptions that take arguments
      pickler: document the numeric_keys keyword argument
      jsonpickle: add `indent` and `separators` to `encode()`
      tests: make sure we can skip the bson tests
      tests: add the Wizard tests from #92
      tests: flake8 tweaks for the wizard tests
      tests: add a test to ensure numpy.random.random() is supported
      Makefile: pass flags as late as possible
      Makefile: fix "make tox V=1"
      Makefile: mention "tox" in "make help"
      Makefile: run tox in parallel
      tox: sort env-specific sections
      jsonpickle: python3.8 support
      travis: python3.8
      travis: run tests serially
      docs: Python3.8 support
      requirements-dev.txt: add pytest-black and pytest-flake8
      .gitignore: cleanup and ignore .eggs + docs/build
      Makefile: clean __pycache__ cruft
      .gitignore: ignore .coverage
      travis: set latest_py to 3.8
      Revert "Finish dropping support for Python 2 (I hope)."
      Python 2.7 compatibility
      coverage: customize for jsonpickle
      Makefile: update for skeleton semantics
      requirements+setup: prepare for davvid/skeleton
      README.rst: document the multi-version "make tox multi=1" feature
      Makefile: pair down "make tox multi=1" versions to sensible versions per davvid/skeleton
      Makefile: improve cpu detection on macOS
      Makefile: document make tox mulit=1
      Makefile: update tox --parallel comment
      tox: guard against parallel pytest coverage execution
      coverage: lock down to coverage 4
      Revert "Prefer pytest-black to pytest-black-multipy"
      Makefile: clean coverage during "make tox multi=1"
      requirements-dev: pytest-cov requires coverage<5
      Makefile: remove obsolete "check" target
      jsonpickle: allow importing from the source tree
      Makefile: update tox --parallel comment
      version: catch OSError for Python 3.8 importlib_metadata support

Hugo (1):
      Fix AppVeyor typo

Hugo van Kemenade (2):
      Spelling and capitalisation (#8)
      Link badge to PyPI rather than static image

Jason R. Coombs (188):
      Generate project skeleton
      Remove the package from the skeleton. It has no value.
      Add gitignore. Make .hgignore empty - there's nothing here that's project specific.
      Upon further reading, hg-git supports .gitignore, so omit .hgignore.
      Update copyright
      Learning from lessons in the keyring 8.4 release (jaraco/keyring#210), always clean the build artifacts before cutting a release.
      Derive description, url, and namespace_packages from name
      Add PyPI deployment
      Remove duplicate provider line
      Add support for linking to issues and adding datestamps to changelog entries.
      Move Python 3.5 condition to 'on' section
      Update comment to reflect the Github-backed skeleton model (preferred to the generation library-backed model).
      Exclude the skeleton branch from testing
      Add badges for PyPI, downloads, and Travis-CI.
      Change indentation to match that which the travis tool generates when adding the password.
      Use shields.io, as some of these other providers seem to have gone out of business.
      Also add pyversions
      Path is now .org
      Update release process to use warehouse rather than legacy PyPI. Ref pypi/warehouse#1422.
      The name of the project need not be in the README
      No need for a .gitignore file; projects may want to add one, but I recommend not having one unless the project has project-specific files to ignore.
      Remove support for building docs, now that docs support for pypi is deprecated. I hope at some point RTD comes up with an API that once again allows automatic building of docs.
      Use tox instead of pytest-runner
      Use pkg_resources to resolve the version. Requires that the necessary package metadata have been built before building docs.
      Each requirement line is passed as a single parameter to pip, so you can't have a space separating the option and its value.
      Python Packaging -- never do with one command what you can do with two.
      Provide a reference to the license declaration in the readme. Fixes jaraco/skeleton#1.
      Use usedevelop to workaround tox-dev/tox#373
      Incorporate pre-release of setuptools to cause releases to include the PEP-420 deferral.
      Just upgrade to released setuptools now.
      Exclude versions of setuptools_scm due to pypa/setuptools-scm#109.
      Allow passing posargs
      Need a later version of setuptools_scm until it's released.
      Update to setuptools_scm 1.15.0rc1
      Gotta get an sdist - so use one jaraco built
      Bump to setuptools_scm 1.15.0.
      Update config to support building on ReadTheDocs
      Add note about the broken docs problem.
      Skip upload docs as it's deprecated anyway
      Remove rant about docs. If there's no link to the docs, then this is the docs.
      Prefer get_distribution
      No longer rely on the package being installed to retrieve the version. Instead, load the project name and version by invoking the setup script.
      Also get the URL from the project metadata
      Also grab the author from the package metadata
      Strip the trailing newline and then split on newline.
      Default upload URL is now in Python 3.6. Use that.
      setup is already present in the module name. Just call them params.
      Use Python 3.6 by default
      No longer rely on setup_requires for wheel.
      Add PEP substitution in changelog.
      Add support for Python 2.6 in docs conf
      Set the origin date once and forget it.
      Add python_requires directive.
      Don't bother with copyright year(s). Let the repository history track the changes and copyright years. YAGNI.
      Include the project (for docstrings). Include Sphinx (for environments where it's not an implied provision).
      Include pytest-sugar for nicer test output.
      Rely on jaraco.packaging for loading the package metadata from the package for Sphinx.
      Use single-quotes to satisfy the style nazis.
      The requirement is no longer needed for tests.
      Add readthedocs yml file
      Move requirements for docs and testing into extras
      Add appveyor script for CI testing on Windows.
      Require tox 2.4 or later; fixes #2.
      Remove namespace_packages declaration, no longer needed.
      Use a simple build number rather than prefixing with '1.0.'
      Restore support for namespace package declaration, selected on a 'nspkg_technique' setting
      Inspired by pypa/setuptools#1059, use the preferred bdist_wheel heading.
      Check the docs during tests
      Use stages in travis to have deployment depend on success in all Python versions.
      Remove 'bootstrap', artifact from setuptools
      --add doesn't work in a list
      Add a license file. Fixes jaraco/skeleton#1.
      Remove downloads shield, no longer available.
      Add documentation badge.
      Normalize indentation in docs/conf.py
      Declare 'python' factor at top level
      Correct travis syntax
      reference the license file in metadata
      Use https
      Add build-docs env in tox.
      Run only default environment by default.
      To support namespace packages, Setuptools must be 31.0.1. This change is necessary with the adoption of tox-venv, which uses Python's venv, which does not install the latest setuptools by default.
      Need to avoid .eggs in recursing dirs. Ref pypa/setuptools-scm#212.
      Use tox-venv for future compatibility.
      Disable pytest-sugar until Teemu/pytest-sugar#133 is addressed.
      Bring back pytest-sugar with a minimum version to support Pytest 3.4.
      Save the pip cache across builds. Ref pypa/setuptools#1279.
      Add workaround for build failures on Python 3.7 (yaml/pyyaml#126).
      Run flake8 with tests. Add flake8 config to ignore common exclusions. Add comments to testing and docs extras to aid with merges.
      Add appveyor badge (commented). Disable RTD by default.
      Limit workaround to affected Python
      Bump minimum pytest version
      Add pyproject.toml declaring build dependencies.
      When ignoring linter warnings, document the reason.
      Disable the (broken) IPv6 in Travis. Ref travis-ci/travis-ci#8361.
      Don't match issues if preceeded by some other indicator.
      skip_upload_docs is default
      Drop the dot; http://blog.pytest.org/2016/whats-new-in-pytest-30/
      Rely on declarative config to create long_description.
      Remove workaround for pyyaml 126.
      Revert "Remove workaround for pyyaml 126."
      We're getting close, but Python 3.7 still requires a workaround
      Use xenial to include support for Python 3.7.
      Remove release, no longer needed. Use twine instead.
      Also ignore W504 in flake8, following the indication in OCA/maintainer-quality-tools that neither W503 nor W504 are worthwhile in general.
      Release of pyyaml 3.13 seems to have fixed install issues on Python 3.7.
      Block pytest 3.7.3 due to pytest-dev/pytest#3888.
      Move most package config to declarative config
      Ignore pycodestyle warning. Seems it's not going to be fixed anytime soon.
      Also ignore flake8 error
      Require setuptools 34.4 to support python_requires in declarative config.
      Add workaround for Teemu/pytest-sugar#159.
      Add black config, pre-commit including black, check code with black.
      Remove workaround for pytest-sugar 159, now fixed.
      Remove pytest-sugar plugin from standard pipelines as recommended in Teemu/pytest-sugar#159.
      Prefer pytest-checkdocs to collective.checkdocs
      Suppress deprecation warning in docutils
      Remove use of setup_requires. Builders now require pip 10 or later to build/install from sdist. Older installers will still install the packages from wheels. Ref tox-dev/tox#809.
      Revert "Remove use of setup_requires. Builders now require pip 10 or later to build/install from sdist. Older installers will still install the packages from wheels. Ref tox-dev/tox#809."
      Indicate build backend of setuptools
      Add support for cutting releases without DPL and using pep517.
      Rely on pep517 0.5
      Add documentation on the skeleton. Fixes #5.
      Add workaround for DeprecationWarning in flake8
      Use consistent encoding quoting in pyproject.toml
      Clarify purpose of local/upstream extras
      Suppress E117 as workaround for PyCQA/pycodestyle#836
      Amend skeleton documentation to expand on the value of the approach.
      Remove sudo declaration in Travis config.
      Enable tox-pip-extensions ext_venv_update if available. Fixes jaraco/skeleton#6
      Rely on tox 3.2 and pip 10 or later for all builds
      It adds no value to add a pip requirement for the tox install
      Pin to pip 19.0 for now for pypa/pip#6434.
      Revert "Pin to pip 19.0 for now for pypa/pip#6434."
      Only install and invoke pytest-black on Python 3
      Use pytest-black-multipy to enable simple support for pytest-black where available. Ref pytest-dev/pytest#5272.
      Update skeleton documentation to reflect black adoption.
      Rely on twine 1.13 or later
      Upgrade tox and virtualenv to ensure that environments get recent pips
      Define passenv in tox release section. Rely on __token__ for default username.
      Update docs to reflect changes to deployment.
      Python 3 only
      Enable coverage reporting on project
      Report the lines missing coverage
      Ensure that a late version of pip is installed without special versions of tox-venv.
      Disable tox-pip-version as it interacts badly with tox-venv causing tox to use the wrong Python version to install packages and run tests. Ref pglass/tox-pip-version#20 and tox-dev/tox-venv#40.
      Bring back tox-pip-version now that pglass/tox-pip-version#20 is fixed.
      Test/release on Python 3.8
      Apply black to docs/conf.py
      Update black version and links
      Expect flake8 3.6 or later and remove suppression of warnings from Flake8 prior to 3.6.
      Rely on pytest-checkdocs 1.2.3, eliminating workaround for docutils warning.
      Remove workaround for gitlab.com/PyCQA/flake8/issues/275, apparently no longer necessary.
      Normalize indentation
      Include keyring support from twine
      Rename 'build-docs' to simply 'docs' (matching more popular convention).
      Prefer 'path' to 'path.py'
      Cover Python 3.8 in Windows tests
      Update black in pre-commit and add blacken-docs.
      Test and release using Azure Pipelines
      Correct guidance on project creation.
      Rely on setuptools_scm 3.4 and setuptools 42. Now setup.py is optional. Remove setuptools from test environment.
      Finish dropping support for Python 2 (I hope).
      Normalize whitespace
      Revert "setup.cfg: let python-tag mirror python_requires"
      Declare pep518 build requirements. Fixes #290
      Also declare the file in manifest to include it in the source dist.
      👹 Feed the hobgoblins (delint).
      Fade to black
      Normalize whitespace
      In jsonpickle.version, reflect the version from metadata.
      Remove sphinxtogithub.
      Replace changelog headings to match tagged releases. Now release dates are injected automatically during docs builds.
      Replace references to jsonpickle.github.io to reference readthedocs.
      Remove submodules and thirdparty.
      Update to bionic for Travis. Correct comment about IPv6 workaround.
      Run on the same python as tox by default.
      Restore test execution on older Pythons.
      By default, just run tests once. Only in CI run the matrix of envs.
      Simplify test and development workflow based on tox.
      Move sqlalchemy deps back to tox.
      Update the bands so they're not overlapping, but key correctly into specific minor version.
      Add 'sqlalchemy' as a standard test and defer to 'saNN' for older versions.
      Don't bother testing on Python 3.4 as master doesn't and pandas tests fail.
      Mark tests as xfail for now. Ref #281.
      Suppress warnings in pytest-flake8, pytest-black, and pytest-checkdocs.
      Prefer pytest-black to pytest-black-multipy
      Test against Windows and Mac

Sebastian Kriems (1):
      spaces, style and formatters (#4)

Sebastian Pipping (2):
      readme: Fix syntax issue "Title underline too short"
      readme: Inform about security implications

Vincent Fazio (1):
      setup.cfg: let python-tag mirror python_requires

johnthagen (1):
      Line wrap LICENSE file

layday (1):
      Require toml extra for setuptools_scm (#12)
helperbot-recidiviz pushed a commit to Recidiviz/pulse-data that referenced this issue Apr 5, 2022
* Remove urlfetch monkey patch (Recidiviz/recidiviz-data#239)

* migrate from users to cloud iap (Recidiviz/recidiviz-data#241)

* move sessions to new datastore api (Recidiviz/recidiviz-data#236)

Part of Recidiviz/recidiviz-data#176
* move sessions to new datastore api
* Use emulator to test writing and reading sessions
* Move emulator environment vars into a fixture

* remove unnecessary pytest emulator mark (Recidiviz/recidiviz-data#277)

* Move secrets to new datastore api (Recidiviz/recidiviz-data#276)

* Removed local functionality, added new fields. (Recidiviz/recidiviz-data#282)

* add test only annotation (Recidiviz/recidiviz-data#281)

* Migrated push queues from TaskQueues to Cloud Tasks. (Recidiviz/recidiviz-data#323)

* Remove urlfetch monkey patch (Recidiviz/recidiviz-data#239)

* migrate from users to cloud iap (Recidiviz/recidiviz-data#241)

* move sessions to new datastore api (Recidiviz/recidiviz-data#236)

Part of Recidiviz/recidiviz-data#176
* move sessions to new datastore api
* Use emulator to test writing and reading sessions
* Move emulator environment vars into a fixture

* remove unnecessary pytest emulator mark (Recidiviz/recidiviz-data#277)

* Move secrets to new datastore api (Recidiviz/recidiviz-data#276)

* Removed local functionality, added new fields. (Recidiviz/recidiviz-data#282)

* Migrated scraper.py and worker.py from TaskQueues to Cloud Tasks.

* Added google-cloud-tasks to Pipenv.

* Fixed Worker tests, removed App Engine testbed.

* Migrated scraper_tests from TaskQueues to Cloud Tasks.

* Use same queue_path as scrapers.

* Use same queue_path as scrapers for remaining calls.

* Added APPLICATION_ID to Travis env.

* Migrated us_vt_scraper_test from TaskQueue to Cloud Tasks.

* Removed extra newline.

* Migrated us_ny_scraper_test from TaskQueue to Cloud Tasks.

* Commenting out unused tests to satisfy pylint.

* Deleting unused code to please pylint.

* Moved push queue operations to their own module.

* Removed taskqueue testbed stuff.

* Moved queues_test.py to recidiviz/tests/ingest/

* Switched from camelCase to lower_with_under naming for tests.

* Refactor docket to use pubsub (Recidiviz/recidiviz-data#335)

* move docket to pubsub

* remove snapshot logic from docket

* Fix python3 build (Recidiviz/recidiviz-data#352)

* fix infer release usage of sessions

* remove app identity usage from tests

* fix get closed only sessions

* remove entity kinds from regions.yaml (Recidiviz/recidiviz-data#360)

also removes related code that uses the entity kinds, most notable the
test data populator and `compare_and_set_snapshot` from scraper.

* remove us-ny specific models (Recidiviz/recidiviz-data#374)

* Fix python build

* Remove deferred (Recidiviz/recidiviz-data#369)

* Remove uses of deferred throughout

* adding to docket should use pubsub batching

* add comment about name query

* add another test

* Remove appengine library use (Recidiviz/recidiviz-data#413)

* Remove lib directory (Recidiviz/recidiviz-data#411)

* Switch to python 3 interpreter (Recidiviz/recidiviz-data#421)

* Switch to python 3 interpreter

* don't cache packages for now

* pin pyyaml to 3.13 to fix breakage

yaml/pyyaml#126

* fix pylint

* remove object inheritance

* read names file in text mode

* fix lint errors

* update requirements.txt

* re-enable pip caching on travis

* fix queue test

* fix more

* Add pipfile to gcloudignore

* Fix pipfile gcloudignore

* Remove `base.yaml`

* Remove defunct datastore indices

* Manually setup cloud logging client

* Update `in_prod` to check custom env var

* Add google-cloud-logging to pipfile/requirements

* Fix environment test

* Rewrite docket to avoid repeated get calls

* fix docket test

* remove parens from class defs

* decode bytes

* update metaclass syntax for scraper

* update persistence imports

* fix auth test

* pylint disable unused __new__ buildable_attr

* remove app id env var

* weird compression encode/decode

* fix compression encoding / decoding

* last fixes (Recidiviz/recidiviz-data#431)

* Add pymysql to pipenv & requirements

* Remove missed empty parens on classes

* Add note about pubsub emulator for tests

* Fix comment in sessions

* Fix some comments

GitOrigin-RevId: 6c57a9dc530fbc3df3fafafa31158c0cf5b30682
helperbot-recidiviz pushed a commit to Recidiviz/pulse-data that referenced this issue May 5, 2022
* Remove urlfetch monkey patch (Recidiviz/recidiviz-data#239)

* migrate from users to cloud iap (Recidiviz/recidiviz-data#241)

* move sessions to new datastore api (Recidiviz/recidiviz-data#236)

Part of Recidiviz/recidiviz-data#176
* move sessions to new datastore api
* Use emulator to test writing and reading sessions
* Move emulator environment vars into a fixture

* remove unnecessary pytest emulator mark (Recidiviz/recidiviz-data#277)

* Move secrets to new datastore api (Recidiviz/recidiviz-data#276)

* Removed local functionality, added new fields. (Recidiviz/recidiviz-data#282)

* add test only annotation (Recidiviz/recidiviz-data#281)

* Migrated push queues from TaskQueues to Cloud Tasks. (Recidiviz/recidiviz-data#323)

* Remove urlfetch monkey patch (Recidiviz/recidiviz-data#239)

* migrate from users to cloud iap (Recidiviz/recidiviz-data#241)

* move sessions to new datastore api (Recidiviz/recidiviz-data#236)

Part of Recidiviz/recidiviz-data#176
* move sessions to new datastore api
* Use emulator to test writing and reading sessions
* Move emulator environment vars into a fixture

* remove unnecessary pytest emulator mark (Recidiviz/recidiviz-data#277)

* Move secrets to new datastore api (Recidiviz/recidiviz-data#276)

* Removed local functionality, added new fields. (Recidiviz/recidiviz-data#282)

* Migrated scraper.py and worker.py from TaskQueues to Cloud Tasks.

* Added google-cloud-tasks to Pipenv.

* Fixed Worker tests, removed App Engine testbed.

* Migrated scraper_tests from TaskQueues to Cloud Tasks.

* Use same queue_path as scrapers.

* Use same queue_path as scrapers for remaining calls.

* Added APPLICATION_ID to Travis env.

* Migrated us_vt_scraper_test from TaskQueue to Cloud Tasks.

* Removed extra newline.

* Migrated us_ny_scraper_test from TaskQueue to Cloud Tasks.

* Commenting out unused tests to satisfy pylint.

* Deleting unused code to please pylint.

* Moved push queue operations to their own module.

* Removed taskqueue testbed stuff.

* Moved queues_test.py to recidiviz/tests/ingest/

* Switched from camelCase to lower_with_under naming for tests.

* Refactor docket to use pubsub (Recidiviz/recidiviz-data#335)

* move docket to pubsub

* remove snapshot logic from docket

* Fix python3 build (Recidiviz/recidiviz-data#352)

* fix infer release usage of sessions

* remove app identity usage from tests

* fix get closed only sessions

* remove entity kinds from regions.yaml (Recidiviz/recidiviz-data#360)

also removes related code that uses the entity kinds, most notable the
test data populator and `compare_and_set_snapshot` from scraper.

* remove us-ny specific models (Recidiviz/recidiviz-data#374)

* Fix python build

* Remove deferred (Recidiviz/recidiviz-data#369)

* Remove uses of deferred throughout

* adding to docket should use pubsub batching

* add comment about name query

* add another test

* Remove appengine library use (Recidiviz/recidiviz-data#413)

* Remove lib directory (Recidiviz/recidiviz-data#411)

* Switch to python 3 interpreter (Recidiviz/recidiviz-data#421)

* Switch to python 3 interpreter

* don't cache packages for now

* pin pyyaml to 3.13 to fix breakage

yaml/pyyaml#126

* fix pylint

* remove object inheritance

* read names file in text mode

* fix lint errors

* update requirements.txt

* re-enable pip caching on travis

* fix queue test

* fix more

* Add pipfile to gcloudignore

* Fix pipfile gcloudignore

* Remove `base.yaml`

* Remove defunct datastore indices

* Manually setup cloud logging client

* Update `in_prod` to check custom env var

* Add google-cloud-logging to pipfile/requirements

* Fix environment test

* Rewrite docket to avoid repeated get calls

* fix docket test

* remove parens from class defs

* decode bytes

* update metaclass syntax for scraper

* update persistence imports

* fix auth test

* pylint disable unused __new__ buildable_attr

* remove app id env var

* weird compression encode/decode

* fix compression encoding / decoding

* last fixes (Recidiviz/recidiviz-data#431)

* Add pymysql to pipenv & requirements

* Remove missed empty parens on classes

* Add note about pubsub emulator for tests

* Fix comment in sessions

* Fix some comments

GitOrigin-RevId: 6c57a9dc530fbc3df3fafafa31158c0cf5b30682
helperbot-recidiviz pushed a commit to Recidiviz/pulse-data that referenced this issue Apr 19, 2023
* Remove urlfetch monkey patch (Recidiviz/recidiviz-data#239)

* migrate from users to cloud iap (Recidiviz/recidiviz-data#241)

* move sessions to new datastore api (Recidiviz/recidiviz-data#236)

Part of Recidiviz/recidiviz-data#176
* move sessions to new datastore api
* Use emulator to test writing and reading sessions
* Move emulator environment vars into a fixture

* remove unnecessary pytest emulator mark (Recidiviz/recidiviz-data#277)

* Move secrets to new datastore api (Recidiviz/recidiviz-data#276)

* Removed local functionality, added new fields. (Recidiviz/recidiviz-data#282)

* add test only annotation (Recidiviz/recidiviz-data#281)

* Migrated push queues from TaskQueues to Cloud Tasks. (Recidiviz/recidiviz-data#323)

* Remove urlfetch monkey patch (Recidiviz/recidiviz-data#239)

* migrate from users to cloud iap (Recidiviz/recidiviz-data#241)

* move sessions to new datastore api (Recidiviz/recidiviz-data#236)

Part of Recidiviz/recidiviz-data#176
* move sessions to new datastore api
* Use emulator to test writing and reading sessions
* Move emulator environment vars into a fixture

* remove unnecessary pytest emulator mark (Recidiviz/recidiviz-data#277)

* Move secrets to new datastore api (Recidiviz/recidiviz-data#276)

* Removed local functionality, added new fields. (Recidiviz/recidiviz-data#282)

* Migrated scraper.py and worker.py from TaskQueues to Cloud Tasks.

* Added google-cloud-tasks to Pipenv.

* Fixed Worker tests, removed App Engine testbed.

* Migrated scraper_tests from TaskQueues to Cloud Tasks.

* Use same queue_path as scrapers.

* Use same queue_path as scrapers for remaining calls.

* Added APPLICATION_ID to Travis env.

* Migrated us_vt_scraper_test from TaskQueue to Cloud Tasks.

* Removed extra newline.

* Migrated us_ny_scraper_test from TaskQueue to Cloud Tasks.

* Commenting out unused tests to satisfy pylint.

* Deleting unused code to please pylint.

* Moved push queue operations to their own module.

* Removed taskqueue testbed stuff.

* Moved queues_test.py to recidiviz/tests/ingest/

* Switched from camelCase to lower_with_under naming for tests.

* Refactor docket to use pubsub (Recidiviz/recidiviz-data#335)

* move docket to pubsub

* remove snapshot logic from docket

* Fix python3 build (Recidiviz/recidiviz-data#352)

* fix infer release usage of sessions

* remove app identity usage from tests

* fix get closed only sessions

* remove entity kinds from regions.yaml (Recidiviz/recidiviz-data#360)

also removes related code that uses the entity kinds, most notable the
test data populator and `compare_and_set_snapshot` from scraper.

* remove us-ny specific models (Recidiviz/recidiviz-data#374)

* Fix python build

* Remove deferred (Recidiviz/recidiviz-data#369)

* Remove uses of deferred throughout

* adding to docket should use pubsub batching

* add comment about name query

* add another test

* Remove appengine library use (Recidiviz/recidiviz-data#413)

* Remove lib directory (Recidiviz/recidiviz-data#411)

* Switch to python 3 interpreter (Recidiviz/recidiviz-data#421)

* Switch to python 3 interpreter

* don't cache packages for now

* pin pyyaml to 3.13 to fix breakage

yaml/pyyaml#126

* fix pylint

* remove object inheritance

* read names file in text mode

* fix lint errors

* update requirements.txt

* re-enable pip caching on travis

* fix queue test

* fix more

* Add pipfile to gcloudignore

* Fix pipfile gcloudignore

* Remove `base.yaml`

* Remove defunct datastore indices

* Manually setup cloud logging client

* Update `in_prod` to check custom env var

* Add google-cloud-logging to pipfile/requirements

* Fix environment test

* Rewrite docket to avoid repeated get calls

* fix docket test

* remove parens from class defs

* decode bytes

* update metaclass syntax for scraper

* update persistence imports

* fix auth test

* pylint disable unused __new__ buildable_attr

* remove app id env var

* weird compression encode/decode

* fix compression encoding / decoding

* last fixes (Recidiviz/recidiviz-data#431)

* Add pymysql to pipenv & requirements

* Remove missed empty parens on classes

* Add note about pubsub emulator for tests

* Fix comment in sessions

* Fix some comments

GitOrigin-RevId: 6c57a9dc530fbc3df3fafafa31158c0cf5b30682
jaraco added a commit to jaraco/jaraco.vcs that referenced this issue Jun 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests