Data reduction pipeline for KOALA on the AAT.

Overview

KOALA

Build Status Documentation Status Coverage Status License Supported versions PyPI


KOALA, the Kilofibre Optical AAT Lenslet Array, is a wide-field, high efficiency, integral field unit used by the AAOmega spectrograph on the 3.9m AAT (Anglo-Australian Telescope) at Siding Spring Observatory. PyKOALA is the forthcoming data reduction pipeline for creating science-ready 3D data cubes using Raw Stacked Spectra (RSS) images created with 2dfdr.

Helping to develop PyKOALA

  1. Fork koala into your github account
  2. Clone your fork onto your laptop:
    git clone https://github.com/<your_account>/koala
  1. Add this repository as another remote (to get the latest stuff):
    git remote add upstream https://github.com/pykoala/koala
  1. Create a branch to work on the changes:
    git checkout -b <new_branch>
  1. Add and commit changes
  2. Push up your changes
  3. Create a PR, and wait for someone to review it

Reviewing commits

  1. Look through the changes, and provide comments
  2. Once the PR is ready, type bors r+, then bors will handle the merge (DON'T HIT THE MERGE BUTTON).
  3. If the tests fail, help the proposer fix the failures
  4. Use bors r+ again

You can also use bors try to try running the tests, without merging

Comments
  • Pin sybil to latest version 1.2.1

    Pin sybil to latest version 1.2.1

    This PR pins sybil to the latest release 1.2.1.

    Changelog

    1.2.1

    -------------------
    
    - Fixes for pytest 3.1.0.
    

    1.2.0

    -------------------
    
    - Only compile code in :ref:`codeblocks &lt;codeblock-parser&gt;` at evaluation time,
    giving :ref:`skip &lt;skip-parser&gt;` a chance to skip code blocks that won&#39;t
    compile on a particular version of Python.
    

    1.1.0

    -------------------
    
    - Move to CircleCI__ and Carthorse__.
    
    __ https://circleci.com/gh/cjw296/sybil
    __ https://github.com/cjw296/carthorse
    
    - Add warning about the limitations of
    :attr:`~sybil.parsers.doctest.FIX_BYTE_UNICODE_REPR`.
    
    - Support explicit filenames to include and patterns to exclude
    when instantiating a :class:`~sybil.Sybil`.
    
    - Add the :ref:`skip &lt;skip-parser&gt;` parser.
    

    1.0.9

    ------------------
    
    - Fix for pytest 3.7+.
    

    1.0.8

    ------------------
    
    - Changes only to unit tests to support fixes in the latest release of pytest.
    

    1.0.7

    -----------------------
    
    - Literal tabs may no longer be included in text that is parsed by the
    :class:`~sybil.parsers.doctest.DocTestParser`. Previously, tabs were
    expanded which could cause unpleasant problems.
    

    1.0.6

    ------------------------
    
    - Fix compatibility with pytest 3.3+.
    
    Thanks to Bruno Oliveira for this fix!
    

    1.0.5

    -------------------
    
    - Fix ordering issue that would cause some tests to fail when run on systems
    using tmpfs.
    

    1.0.4

    -------------------
    
    - Fix another bug in :class:`~sybil.parsers.codeblock.CodeBlockParser` where
    a :rst:dir:`code-block` followed by a less-indented block would be
    incorrectly indented, resulting in a :class:`SyntaxError`.
    

    1.0.3

    -------------------
    
    - Fix bug in :func:`~sybil.parsers.codeblock.CodeBlockParser` where it
    would incorrectly parse indented code blocks.
    

    1.0.2

    -------------------
    
    - Fix bug in :func:`~sybil.parsers.codeblock.CodeBlockParser` where it
    would not find indented code blocks.
    

    1.0.1

    -------------------
    
    - Fix bug where unicode and byte literals weren&#39;t corrected in doctest
    tracebacks, even when :attr:`sybil.parsers.doctest.FIX_BYTE_UNICODE_REPR`
    was specified.
    

    1.0.0

    -------------------
    
    - Initial release
    
    Links
    • PyPI: https://pypi.org/project/sybil
    • Changelog: https://pyup.io/changelogs/sybil/
    • Repo: https://github.com/cjw296/sybil
    opened by pyup-bot 8
  • Update pylint to 2.11.1

    Update pylint to 2.11.1

    This PR updates pylint from 2.10.2 to 2.11.1.

    Changelog

    2.11.1

    ============================
    Release date: 2021-09-16
    
    ..
    Put bug fixes that should not wait for a new minor version here
    
    * ``unspecified-encoding`` now checks the encoding of ``pathlib.Path()`` correctly
    
    Closes 5017
    

    2.11.0

    ============================
    Release date: 2021-09-16
    
    * The python3 porting mode checker and it&#39;s ``py3k`` option were removed. You can still find it in older pylint
    versions.
    
    * ``raising-bad-type`` is now properly emitted when  raising a string
    
    * Added new extension ``SetMembershipChecker`` with ``use-set-for-membership`` check:
    Emitted when using an in-place defined ``list`` or ``tuple`` to do a membership test. ``sets`` are better optimized for that.
    
    Closes 4776
    
    
    * Added ``py-version`` config key (if ``[MASTER]`` section). Used for version dependant checks.
    Will default to whatever Python version pylint is executed with.
    
    * ``CodeStyleChecker``
    
    * Added ``consider-using-assignment-expr``: Emitted when an assignment is directly followed by an if statement
     and both can be combined by using an assignment expression ``:=``. Requires Python 3.8
    
     Closes 4862
    
    * Added ``consider-using-f-string``: Emitted when .format() or &#39;%&#39; is being used to format a string.
    
    Closes 3592
    
    * Fix false positive for ``consider-using-with`` if a context manager is assigned to a
    variable in different paths of control flow (e. g. if-else clause).
    
    Closes 4751
    
    * https is now prefered in the documentation and http://pylint.pycqa.org correctly redirect to https://pylint.pycqa.org
    
    Closes 3802
    
    * Fix false positive for ``function-redefined`` for simple type annotations
    
    Closes 4936
    
    * Fix false positive for ``protected-access`` if a protected member is used in type hints of function definitions
    
    * Fix false positive ``dict-iter-missing-items`` for dictionaries only using tuples as keys
    
    Closes 3282
    
    * The ``unspecified-encoding`` checker now also checks calls to ``pathlib.Path().read_text()``
    and ``pathlib.Path().write_text()``
    
    Closes 4945
    
    * Fix false positive ``superfluous-parens`` for tuples created with inner tuples
    
    Closes 4907
    
    * Fix false positive ``unused-private-member`` for accessing attributes in a class using ``cls``
    
    Closes 4849
    
    * Fix false positive ``unused-private-member`` for private staticmethods accessed in classmethods.
    
    Closes 4849
    
    * Extended ``consider-using-in`` check to work for attribute access.
    
    * Setting ``min-similarity-lines`` to 0 now makes the similarty checker stop checking for duplicate code
    
    Closes 4901
    
    * Fix a bug where pylint complained if the cache&#39;s parent directory does not exist
    
    Closes 4900
    
    * The ``global-variable-not-assigned`` checker now catches global variables that are never reassigned in a
    local scope and catches (reassigned) functions
    
    Closes 1375
    Closes 330
    
    * Fix false positives for invalid-all-format that are lists or tuples at runtime
    
    Closes 4711
    
    * Fix ``no-self-use`` and ``docparams extension`` for async functions and methods.
    
    * Add documentation for ``pyreverse`` and ``symilar``
    
    Closes 4616
    
    * Non symbolic messages with the wrong capitalisation now correctly trigger ``use-symbolic-message-instead``
    
    Closes 5000
    
    * The ``consider-iterating-dictionary`` checker now also considers membership checks
    
    Closes 4069
    
    * The ``invalid-name`` message is now more detailed when using multiple naming style regexes.
    
    Links
    • PyPI: https://pypi.org/project/pylint
    • Changelog: https://pyup.io/changelogs/pylint/
    opened by pyup-bot 7
  • Update sphinx_rtd_theme to 1.0.0

    Update sphinx_rtd_theme to 1.0.0

    This PR updates sphinx_rtd_theme from 0.5.2 to 1.0.0.

    The bot wasn't able to find a changelog for this release. Got an idea?

    Links
    • PyPI: https://pypi.org/project/sphinx-rtd-theme
    • Repo: https://github.com/readthedocs/sphinx_rtd_theme
    opened by pyup-bot 7
  • Update pylint to 2.5.3

    Update pylint to 2.5.3

    This PR updates pylint from 2.5.2 to 2.5.3.

    Changelog

    2.5.3

    ===========================
    
    Release date: 2020-06-8
    
    * Fix a regression where disable comments that have checker names with numbers in them are not parsed correctly
    
    Close 3666
    
    * `property-with-parameters` properly handles abstract properties
    
    Close 3600
    
    * `continue-in-finally` no longer emitted on Python 3.8 where it&#39;s now valid
    
    Close 3612
    
    * Fix a regression where messages with dash are not fully parsed
    
    Close 3604
    
    * In a TOML configuration file, it&#39;s now possible to use rich (non-string) types, such as list, integer or boolean instead of strings. For example, one can now define a *list* of message identifiers to enable like this::
    
     enable = [
         &quot;use-symbolic-message-instead&quot;,
         &quot;useless-suppression&quot;,
     ]
    
    Close 3538
    
    * Fix a regression where the score was not reported with multiple jobs
    
    Close 3547
    
    * Protect against `AttributeError` when checking `cell-var-from-loop`
    
    Close 3646
    
    Links
    • PyPI: https://pypi.org/project/pylint
    • Changelog: https://pyup.io/changelogs/pylint/
    • Repo: https://github.com/PyCQA/pylint
    opened by pyup-bot 7
  • Update sphinx to 2.4.1

    Update sphinx to 2.4.1

    This PR updates sphinx from 1.8.5 to 2.4.1.

    Changelog

    2.4.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 7120: html: crashed when on scaling SVG images which have float dimentions
    * 7126: autodoc: TypeError: &#39;getset_descriptor&#39; object is not iterable
    

    2.4.0

    =====================================
    
    Deprecated
    ----------
    
    * The ``decode`` argument of ``sphinx.pycode.ModuleAnalyzer()``
    * ``sphinx.directives.other.Index``
    * ``sphinx.environment.temp_data[&#39;gloss_entries&#39;]``
    * ``sphinx.environment.BuildEnvironment.indexentries``
    * ``sphinx.environment.collectors.indexentries.IndexEntriesCollector``
    * ``sphinx.ext.apidoc.INITPY``
    * ``sphinx.ext.apidoc.shall_skip()``
    * ``sphinx.io.FiletypeNotFoundError``
    * ``sphinx.io.get_filetype()``
    * ``sphinx.pycode.ModuleAnalyzer.encoding``
    * ``sphinx.roles.Index``
    * ``sphinx.util.detect_encoding()``
    * ``sphinx.util.get_module_source()``
    * ``sphinx.util.inspect.Signature``
    * ``sphinx.util.inspect.safe_getmembers()``
    * ``sphinx.writers.latex.LaTeXTranslator.settings.author``
    * ``sphinx.writers.latex.LaTeXTranslator.settings.contentsname``
    * ``sphinx.writers.latex.LaTeXTranslator.settings.docclass``
    * ``sphinx.writers.latex.LaTeXTranslator.settings.docname``
    * ``sphinx.writers.latex.LaTeXTranslator.settings.title``
    * ``sphinx.writers.latex.ADDITIONAL_SETTINGS``
    * ``sphinx.writers.latex.DEFAULT_SETTINGS``
    * ``sphinx.writers.latex.LUALATEX_DEFAULT_FONTPKG``
    * ``sphinx.writers.latex.PDFLATEX_DEFAULT_FONTPKG``
    * ``sphinx.writers.latex.XELATEX_DEFAULT_FONTPKG``
    * ``sphinx.writers.latex.XELATEX_GREEK_DEFAULT_FONTPKG``
    
    Features added
    --------------
    
    * 6910: inheritance_diagram: Make the background of diagrams transparent
    * 6446: duration: Add ``sphinx.ext.durations`` to inspect which documents slow
    down the build
    * 6837: LaTeX: Support a nested table
    * 7115: LaTeX: Allow to override LATEXOPTS and LATEXMKOPTS via environment
    variable
    * 6966: graphviz: Support ``:class:`` option
    * 6696: html: ``:scale:`` option of image/figure directive not working for SVG
    images (imagesize-1.2.0 or above is required)
    * 6994: imgconverter: Support illustrator file (.ai) to .png conversion
    * autodoc: Support Positional-Only Argument separator (PEP-570 compliant)
    * autodoc: Support type annotations for variables
    * 2755: autodoc: Add new event: :event:`autodoc-before-process-signature`
    * 2755: autodoc: Support type_comment style (ex. `` type: (str) -&gt; str``)
    annotation (python3.8+ or `typed_ast &lt;https://github.com/python/typed_ast&gt;`_
    is required)
    * 7051: autodoc: Support instance variables without defaults (PEP-526)
    * 6418: autodoc: Add a new extension ``sphinx.ext.autodoc.typehints``. It shows
    typehints as object description if ``autodoc_typehints = &quot;description&quot;`` set.
    This is an experimental extension and it will be integrated into autodoc core
    in Sphinx-3.0
    * SphinxTranslator now calls visitor/departure method for super node class if
    visitor/departure method for original node class not found
    * 6418: Add new event: :event:`object-description-transform`
    * py domain: :rst:dir:`py:data` and :rst:dir:`py:attribute` take new options
    named ``:type:`` and ``:value:`` to describe its type and initial value
    * 6785: py domain: ``:py:attr:`` is able to refer properties again
    * 6772: apidoc: Add ``-q`` option for quiet mode
    
    Bugs fixed
    ----------
    
    * 6925: html: Remove redundant type=&quot;text/javascript&quot; from &lt;script&gt; elements
    * 7112: html: SVG image is not layouted as float even if aligned
    * 6906, 6907: autodoc: failed to read the source codes encoeded in cp1251
    * 6961: latex: warning for babel shown twice
    * 7059: latex: LaTeX compilation falls into infinite loop (wrapfig issue)
    * 6581: latex: ``:reversed:`` option for toctree does not effect to LaTeX build
    * 6559: Wrong node-ids are generated in glossary directive
    * 6986: apidoc: misdetects module name for .so file inside module
    * 6899: apidoc: private members are not shown even if ``--private`` given
    * 6327: apidoc: Support a python package consisted of __init__.so file
    * 6999: napoleon: fails to parse tilde in :exc: role
    * 7019: gettext: Absolute path used in message catalogs
    * 7023: autodoc: nested partial functions are not listed
    * 7023: autodoc: partial functions imported from other modules are listed as
    module members without :impoprted-members: option
    * 6889: autodoc: Trailing comma in ``:members::`` option causes cryptic warning
    * 6568: autosummary: ``autosummary_imported_members`` is ignored on generating
    a stub file for submodule
    * 7055: linkcheck: redirect is treated as an error
    * 7088: HTML template: If ``navigation_with_keys`` option is activated,
    modifier keys are ignored, which means the feature can interfere with browser
    features
    * 7090: std domain: Can&#39;t assign numfig-numbers for custom container nodes
    * 7106: std domain: enumerated nodes are marked as duplicated when extensions
    call ``note_explicit_target()``
    * 7095: dirhtml: Cross references are broken via intersphinx and ``:doc:`` role
    * C++:
    
    - Don&#39;t crash when using the ``struct`` role in some cases.
    - Don&#39;t warn when using the ``var``/``member`` role for function
     parameters.
    - Render call and braced-init expressions correctly.
    * 7097: Filenames of images generated by
    ``sphinx.transforms.post_transforms.images.ImageConverter``
    or its subclasses (used for latex build) are now sanitized,
    to prevent broken paths
    

    2.3.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 6936: sphinx-autogen: raises AttributeError
    

    2.3.0

    =====================================
    
    Incompatible changes
    --------------------
    
    * 6742: ``end-before`` option of :rst:dir:`literalinclude` directive does not
    match the first line of the code block.
    * 1331: Change default User-Agent header to ``&quot;Sphinx/X.Y.Z requests/X.Y.Z
    python/X.Y.Z&quot;``.  It can be changed via :confval:`user_agent`.
    * 6867: text: content of admonitions starts after a blank line
    
    Deprecated
    ----------
    
    * ``sphinx.builders.gettext.POHEADER``
    * ``sphinx.io.SphinxStandaloneReader.app``
    * ``sphinx.io.SphinxStandaloneReader.env``
    * ``sphinx.util.texescape.tex_escape_map``
    * ``sphinx.util.texescape.tex_hl_escape_map_new``
    * ``sphinx.writers.latex.LaTeXTranslator.no_contractions``
    
    Features added
    --------------
    
    * 6707: C++, support bit-fields.
    * 267: html: Eliminate prompt characters of doctest block from copyable text
    * 6548: html: Use favicon for OpenSearch if available
    * 6729: html theme: agogo theme now supports ``rightsidebar`` option
    * 6780: Add PEP-561 Support
    * 6762: latex: Allow to load additonal LaTeX packages via ``extrapackages`` key
    of :confval:`latex_elements`
    * 1331: Add new config variable: :confval:`user_agent`
    * 6000: LaTeX: have backslash also be an inline literal word wrap break
    character
    * 4186: LaTeX: Support upLaTeX as a new :confval:`latex_engine` (experimental)
    * 6812: Improve a warning message when extensions are not parallel safe
    * 6818: Improve Intersphinx performance for multiple remote inventories.
    * 2546: apidoc: .so file support
    * 6798: autosummary: emit ``autodoc-skip-member`` event on generating stub file
    * 6483: i18n: make explicit titles in toctree translatable
    * 6816: linkcheck: Add :confval:`linkcheck_auth` option to provide
    authentication information when doing ``linkcheck`` builds
    * 6872: linkcheck: Handles HTTP 308 Permanent Redirect
    * 6613: html: Wrap section number in span tag
    * 6781: gettext: Add :confval:`gettext_last_translator&#39; and
    :confval:`gettext_language_team` to customize headers of POT file
    
    Bugs fixed
    ----------
    
    * 6668: LaTeX: Longtable before header has incorrect distance
    (refs: `latex3/latex2e173`_)
    
    .. _latex3/latex2e173: https://github.com/latex3/latex2e/issues/173
    * 6618: LaTeX: Avoid section names at the end of a page
    * 6738: LaTeX: Do not replace unicode characters by LaTeX macros on unicode
    supported LaTeX engines: ¶, §, €, ∞, ±, →, ‣, –, superscript and subscript
    digits go through &quot;as is&quot; (as default OpenType font supports them)
    * 6704: linkcheck: Be defensive and handle newly defined HTTP error code
    * 6806: linkcheck: Failure on parsing content
    * 6655: image URLs containing ``data:`` causes gettext builder crashed
    * 6584: i18n: Error when compiling message catalogs on Hindi
    * 6718: i18n: KeyError is raised if section title and table title are same
    * 6743: i18n: :confval:`rst_prolog` breaks the translation
    * 6708: mathbase: Some deprecated functions have removed
    * 6709: autodoc: mock object does not work as a class decorator
    * 5070: epub: Wrong internal href fragment links
    * 6712: Allow not to install sphinx.testing as runtime (mainly for ALT Linux)
    * 6741: html: search result was broken with empty :confval:`html_file_suffix`
    * 6001: LaTeX does not wrap long code lines at backslash character
    * 6804: LaTeX: PDF build breaks if admonition of danger type contains
    code-block long enough not to fit on one page
    * 6809: LaTeX: code-block in a danger type admonition can easily spill over
    bottom of page
    * 6793: texinfo: Code examples broken following &quot;sidebar&quot;
    * 6813: An orphan warning is emitted for included document on Windows.  Thanks
    to drillan
    * 6850: Fix smartypants module calls re.sub() with wrong options
    * 6824: HTML search: If a search term is partially matched in the title and
    fully matched in a text paragraph on the same page, the search does not
    include this match.
    * 6848: config.py shouldn&#39;t pop extensions from overrides
    * 6867: text: extra spaces are inserted to hyphenated words on folding lines
    * 6886: LaTeX: xelatex converts straight double quotes into right curly ones
    (shows when :confval:`smartquotes` is ``False``)
    * 6890: LaTeX: even with smartquotes off, PDF output transforms straight
    quotes and consecutive hyphens into curly quotes and dashes
    * 6876: LaTeX: multi-line display of authors on title page has ragged edges
    * 6887: Sphinx crashes with docutils-0.16b0
    * 6920: sphinx-build: A console message is wrongly highlighted
    * 6900: sphinx-build: ``-D`` option does not considers ``0`` and ``1`` as a
    boolean value
    

    2.2.2

    =====================================
    
    Incompatible changes
    --------------------
    
    * 6803: For security reason of python, parallel mode is disabled on macOS and
    Python3.8+
    
    Bugs fixed
    ----------
    
    * 6776: LaTeX: 2019-10-01 LaTeX release breaks :file:`sphinxcyrillic.sty`
    * 6815: i18n: French, Hindi, Chinese, Japanese and Korean translation messages
    has been broken
    * 6803: parallel build causes AttributeError on macOS and Python3.8
    

    2.2.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 6641: LaTeX: Undefined control sequence ``\sphinxmaketitle``
    * 6710: LaTeX not well configured for Greek language as main language
    * 6759: validation of html static paths and extra paths no longer throws
    an error if the paths are in different directories
    

    2.2.0

    =====================================
    
    Incompatible changes
    --------------------
    
    * apidoc: template files are renamed to ``.rst_t``
    * html: Field lists will be styled by grid layout
    
    Deprecated
    ----------
    
    * ``sphinx.domains.math.MathDomain.add_equation()``
    * ``sphinx.domains.math.MathDomain.get_next_equation_number()``
    * The ``info`` and ``warn`` arguments of
    ``sphinx.ext.autosummary.generate.generate_autosummary_docs()``
    * ``sphinx.ext.autosummary.generate._simple_info()``
    * ``sphinx.ext.autosummary.generate._simple_warn()``
    * ``sphinx.ext.todo.merge_info()``
    * ``sphinx.ext.todo.process_todo_nodes()``
    * ``sphinx.ext.todo.process_todos()``
    * ``sphinx.ext.todo.purge_todos()``
    
    Features added
    --------------
    
    * 5124: graphviz: ``:graphviz_dot:`` option is renamed to ``:layout:``
    * 1464: html: emit a warning if :confval:`html_static_path` and
    :confval:`html_extra_path` directories are inside output directory
    * 6514: html: Add a label to search input for accessability purposes
    * 5602: apidoc: Add ``--templatedir`` option
    * 6475: Add ``override`` argument to ``app.add_autodocumenter()``
    * 6310: imgmath: let :confval:`imgmath_use_preview` work also with the SVG
    format for images rendering inline math
    * 6533: LaTeX: refactor visit_enumerated_list() to use ``\sphinxsetlistlabels``
    * 6628: quickstart: Use ``https://docs.python.org/3/`` for default setting of
    :confval:`intersphinx_mapping`
    * 6419: sphinx-build: give reasons why rebuilded
    
    Bugs fixed
    ----------
    
    * py domain: duplicated warning does not point the location of source code
    * 6499: html: Sphinx never updates a copy of :confval:`html_logo` even if
    original file has changed
    * 1125: html theme: scrollbar is hard to see on classic theme and macOS
    * 5502: linkcheck: Consider HTTP 503 response as not an error
    * 6439: Make generated download links reproducible
    * 6486: UnboundLocalError is raised if broken extension installed
    * 6567: autodoc: :confval:`autodoc_inherit_docstrings` does not effect to
    ``__init__()`` and ``__new__()``
    * 6574: autodoc: :confval:`autodoc_member_order` does not refer order of
    imports when ``&#39;bysource&#39;`` order
    * 6574: autodoc: missing type annotation for variadic and keyword parameters
    * 6589: autodoc: Formatting issues with autodoc_typehints=&#39;none&#39;
    * 6605: autodoc: crashed when target code contains custom method-like objects
    * 6498: autosummary: crashed with wrong autosummary_generate setting
    * 6507: autosummary: crashes without no autosummary_generate setting
    * 6511: LaTeX: autonumbered list can not be customized in LaTeX
    since Sphinx 1.8.0 (refs: 6533)
    * 6531: Failed to load last environment object when extension added
    * 736: Invalid sort in pair index
    * 6527: :confval:`last_updated` wrongly assumes timezone as UTC
    * 5592: std domain: :rst:dir:`option` directive registers an index entry for
    each comma separated option
    * 6549: sphinx-build: Escaped characters in error messages
    * 6545: doctest comments not getting trimmed since Sphinx 1.8.0
    * 6561: glossary: Wrong hyperlinks are generated for non alphanumeric terms
    * 6620: i18n: classifiers of definition list are not translated with
    docutils-0.15
    * 6474: ``DocFieldTransformer`` raises AttributeError when given directive is
    not a subclass of ObjectDescription
    

    2.1.2

    =====================================
    
    Bugs fixed
    ----------
    
    * 6497: custom lexers fails highlighting when syntax error
    * 6478, 6488: info field lists are incorrectly recognized
    

    2.1.1

    =====================================
    
    Incompatible changes
    --------------------
    
    * 6447: autodoc: Stop to generate document for undocumented module variables
    
    Bugs fixed
    ----------
    
    * 6442: LaTeX: admonitions of :rst:dir:`note` type can get separated from
    immediately preceding section title by pagebreak
    * 6448: autodoc: crashed when autodocumenting classes with ``__slots__ = None``
    * 6451: autodoc: generates docs for &quot;optional import&quot;ed modules as variables
    * 6452: autosummary: crashed when generating document of properties
    * 6455: napoleon: docstrings for properties are not processed
    * 6436: napoleon: &quot;Unknown target name&quot; error if variable name ends with
    underscore
    * 6440: apidoc: missing blank lines between modules
    

    2.1.0

    =====================================
    
    Incompatible changes
    --------------------
    
    * Ignore filenames without file extension given to ``Builder.build_specific()``
    API directly
    * 6230: The anchor of term in glossary directive is changed if it is consisted
    by non-ASCII characters
    * 4550: html: Centering tables by default using CSS
    * 6239: latex: xelatex and xeCJK are used for Chinese documents by default
    * ``Sphinx.add_lexer()`` now takes a Lexer class instead of instance.  An
    instance of lexers are still supported until Sphinx-3.x.
    
    Deprecated
    ----------
    
    * ``sphinx.builders.latex.LaTeXBuilder.apply_transforms()``
    * ``sphinx.builders._epub_base.EpubBuilder.esc()``
    * ``sphinx.directives.Acks``
    * ``sphinx.directives.Author``
    * ``sphinx.directives.Centered``
    * ``sphinx.directives.Class``
    * ``sphinx.directives.CodeBlock``
    * ``sphinx.directives.Figure``
    * ``sphinx.directives.HList``
    * ``sphinx.directives.Highlight``
    * ``sphinx.directives.Include``
    * ``sphinx.directives.Index``
    * ``sphinx.directives.LiteralInclude``
    * ``sphinx.directives.Meta``
    * ``sphinx.directives.Only``
    * ``sphinx.directives.SeeAlso``
    * ``sphinx.directives.TabularColumns``
    * ``sphinx.directives.TocTree``
    * ``sphinx.directives.VersionChange``
    * ``sphinx.domains.python.PyClassmember``
    * ``sphinx.domains.python.PyModulelevel``
    * ``sphinx.domains.std.StandardDomain._resolve_citation_xref()``
    * ``sphinx.domains.std.StandardDomain.note_citations()``
    * ``sphinx.domains.std.StandardDomain.note_citation_refs()``
    * ``sphinx.domains.std.StandardDomain.note_labels()``
    * ``sphinx.environment.NoUri``
    * ``sphinx.ext.apidoc.format_directive()``
    * ``sphinx.ext.apidoc.format_heading()``
    * ``sphinx.ext.apidoc.makename()``
    * ``sphinx.ext.autodoc.importer.MockFinder``
    * ``sphinx.ext.autodoc.importer.MockLoader``
    * ``sphinx.ext.autodoc.importer.mock()``
    * ``sphinx.ext.autosummary.autolink_role()``
    * ``sphinx.ext.imgmath.DOC_BODY``
    * ``sphinx.ext.imgmath.DOC_BODY_PREVIEW``
    * ``sphinx.ext.imgmath.DOC_HEAD``
    * ``sphinx.transforms.CitationReferences``
    * ``sphinx.transforms.SmartQuotesSkipper``
    * ``sphinx.util.docfields.DocFieldTransformer.preprocess_fieldtypes()``
    * ``sphinx.util.node.find_source_node()``
    * ``sphinx.util.i18n.find_catalog()``
    * ``sphinx.util.i18n.find_catalog_files()``
    * ``sphinx.util.i18n.find_catalog_source_files()``
    
    For more details, see :ref:`deprecation APIs list &lt;dev-deprecated-apis&gt;`.
    
    Features added
    --------------
    
    * Add a helper class ``sphinx.transforms.post_transforms.SphinxPostTransform``
    * Add helper methods
    
    - ``PythonDomain.note_module()``
    - ``PythonDomain.note_object()``
    - ``SphinxDirective.set_source_info()``
    
    * 6180: Support ``--keep-going`` with BuildDoc setup command
    * ``math`` directive now supports ``:class:`` option
    * todo: ``todo`` directive now supports ``:name:`` option
    * Enable override via environment of ``SPHINXOPTS`` and ``SPHINXBUILD`` Makefile
    variables (refs: 6232, 6303)
    * 6287: autodoc: Unable to document bound instance methods exported as module
    functions
    * 6289: autodoc: :confval:`autodoc_default_options` now supports
    ``imported-members`` option
    * 4777: autodoc: Support coroutine
    * 744: autodoc: Support abstractmethod
    * 6325: autodoc: Support attributes in __slots__.  For dict-style __slots__,
    autodoc considers values as a docstring of the attribute
    * 6361: autodoc: Add :confval:`autodoc_typehints` to suppress typehints from
    signature
    * 1063: autodoc: ``automodule`` directive now handles undocumented module level
    variables
    * 6212 autosummary: Add :confval:`autosummary_imported_members` to display
    imported members on autosummary
    * 6271: ``make clean`` is catastrophically broken if building into &#39;.&#39;
    * 6363: Support ``%O%`` environment variable in make.bat
    * 4777: py domain: Add ``:async:`` option to :rst:dir:`py:function` directive
    * py domain: Add new options to :rst:dir:`py:method` directive
    
    - ``:abstractmethod:``
    - ``:async:``
    - ``:classmethod:``
    - ``:property:``
    - ``:staticmethod:``
    
    * rst domain: Add :rst:dir:`directive:option` directive to describe the option
    for directive
    * 6306: html: Add a label to search form for accessability purposes
    * 4390: html: Consistent and semantic CSS for signatures
    * 6358: The ``rawsource`` property of ``production`` nodes now contains the
    full production rule
    * 6373: autosectionlabel: Allow suppression of warnings
    * coverage: Support a new ``coverage_ignore_pyobjects`` option
    * 6239: latex: Support to build Chinese documents
    
    Bugs fixed
    ----------
    
    * 6230: Inappropriate node_id has been generated by glossary directive if term
    is consisted by non-ASCII characters
    * 6213: ifconfig: contents after headings are not shown
    * commented term in glossary directive is wrongly recognized
    * 6299: rst domain: rst:directive directive generates waste space
    * 6379: py domain: Module index (py-modindex.html) has duplicate titles
    * 6331: man: invalid output when doctest follows rubric
    * 6351: &quot;Hyperlink target is not referenced&quot; message is shown even if
    referenced
    * 6165: autodoc: ``tab_width`` setting of docutils has been ignored
    * 6347: autodoc: crashes with a plain Tuple on Python 3.6 and 3.5
    * 6311: autosummary: autosummary table gets confused by complex type hints
    * 6350: autosummary: confused by an argument having some kind of default value
    * Generated Makefiles lack a final EOL (refs: 6232)
    * 6375: extlinks: Cannot escape angle brackets in link caption
    * 6378: linkcheck: Send commonly used User-Agent
    * 6387: html search: failed to search document with haiku and scrolls themes
    * 6408: html search: Fix the ranking of search results
    * 6406: Wrong year is returned for ``SOURCE_DATE_EPOCH``
    * 6402: image directive crashes by unknown image format
    * 6286: C++, allow 8 and 9 in hexadecimal integer literals.
    * 6305: Fix the string in quickstart for &#39;path&#39; argument of parser
    * LaTeX: Figures in admonitions produced errors (refs: 6364)
    

    2.0.1

    =====================================
    
    Bugs fixed
    ----------
    
    * LaTeX: some system labels are not translated
    * RemovedInSphinx30Warning is marked as pending
    * deprecation warnings are not emitted
    
    - sphinx.application.CONFIG_FILENAME
    - sphinx.builders.htmlhelp
    - :confval:`viewcode_import`
    
    * 6208: C++, properly parse full xrefs that happen to have a short xref as
    prefix
    * 6220, 6225: napoleon: AttributeError is raised for raised section having
    references
    * 6245: circular import error on importing SerializingHTMLBuilder
    * 6243: LaTeX: &#39;releasename&#39; setting for latex_elements is ignored
    * 6244: html: Search function is broken with 3rd party themes
    * 6263: html: HTML5Translator crashed with invalid field node
    * 6262: html theme: The style of field lists has changed in bizstyle theme
    

    2.0.0

    * 6196: py domain: unexpected prefix is generated
    
    Testing
    --------
    

    2.0.0b2

    * Add a helper function: ``sphinx.testing.restructuredtext.parse()``
    

    2.0.0b1

    * Stop to use ``SPHINX_TEST_TEMPDIR`` envvar
    
    Links
    • PyPI: https://pypi.org/project/sphinx
    • Changelog: https://pyup.io/changelogs/sphinx/
    • Homepage: http://sphinx-doc.org/
    opened by pyup-bot 7
  • Update astroid to 2.3.3

    Update astroid to 2.3.3

    This PR updates astroid from 2.3.2 to 2.3.3.

    The bot wasn't able to find a changelog for this release. Got an idea?

    Links
    • PyPI: https://pypi.org/project/astroid
    • Changelog: https://pyup.io/changelogs/astroid/
    • Repo: https://github.com/PyCQA/astroid
    opened by pyup-bot 7
  • Update sphinx to 3.5.2

    Update sphinx to 3.5.2

    This PR updates sphinx from 3.5.1 to 3.5.2.

    Changelog

    3.5.2

    =====================================
    
    Bugs fixed
    ----------
    
    * 8943: i18n: Crashed by broken translation messages in ES, EL and HR
    * 8936: LaTeX: A custom LaTeX builder fails with unknown node error
    * 8952: Exceptions raised in a Directive cause parallel builds to hang
    
    Links
    • PyPI: https://pypi.org/project/sphinx
    • Changelog: https://pyup.io/changelogs/sphinx/
    • Homepage: http://sphinx-doc.org/
    opened by pyup-bot 6
  • Update sybil to 2.0.1

    Update sybil to 2.0.1

    This PR updates sybil from 1.4.0 to 2.0.1.

    Changelog

    2.0.1

    -------------------
    
    - Make :class:`~sybil.parsers.doctest.DocTestParser` more permissive with respect
    to tabs in documents. Tabs that aren&#39;t in the doctest block not longer cause
    parsing of the document to fail.
    

    2.0.0

    -------------------
    
    - Drop support for nose.
    
    - Handle encoded data returned by doctest execution on Python 2.
    
    Links
    • PyPI: https://pypi.org/project/sybil
    • Changelog: https://pyup.io/changelogs/sybil/
    • Repo: https://github.com/cjw296/sybil
    opened by pyup-bot 6
  • Update pytest to 5.4.2

    Update pytest to 5.4.2

    This PR updates pytest from 5.4.1 to 5.4.2.

    The bot wasn't able to find a changelog for this release. Got an idea?

    Links
    • PyPI: https://pypi.org/project/pytest
    • Homepage: https://docs.pytest.org/en/latest/
    opened by pyup-bot 6
  • Update sybil to 1.3.0

    Update sybil to 1.3.0

    This PR updates sybil from 1.2.2 to 1.3.0.

    Changelog

    1.3.0

    -------------------
    
    - Treat all documentation source files as being ``utf-8`` encoded. This can be overriden
    by passing an encoding when instantiating a :class:`~sybil.Sybil`.
    
    Links
    • PyPI: https://pypi.org/project/sybil
    • Changelog: https://pyup.io/changelogs/sybil/
    • Repo: https://github.com/cjw296/sybil
    opened by pyup-bot 6
  • Pin sybil to latest version 1.2.0

    Pin sybil to latest version 1.2.0

    This PR pins sybil to the latest release 1.2.0.

    Changelog

    1.2.0

    -------------------
    
    - Only compile code in :ref:`codeblocks &lt;codeblock-parser&gt;` at evaluation time,
    giving :ref:`skip &lt;skip-parser&gt;` a chance to skip code blocks that won&#39;t
    compile on a particular version of Python.
    

    1.1.0

    -------------------
    
    - Move to CircleCI__ and Carthorse__.
    
    __ https://circleci.com/gh/cjw296/sybil
    __ https://github.com/cjw296/carthorse
    
    - Add warning about the limitations of
    :attr:`~sybil.parsers.doctest.FIX_BYTE_UNICODE_REPR`.
    
    - Support explicit filenames to include and patterns to exclude
    when instantiating a :class:`~sybil.Sybil`.
    
    - Add the :ref:`skip &lt;skip-parser&gt;` parser.
    

    1.0.9

    ------------------
    
    - Fix for pytest 3.7+.
    

    1.0.8

    ------------------
    
    - Changes only to unit tests to support fixes in the latest release of pytest.
    

    1.0.7

    -----------------------
    
    - Literal tabs may no longer be included in text that is parsed by the
    :class:`~sybil.parsers.doctest.DocTestParser`. Previously, tabs were
    expanded which could cause unpleasant problems.
    

    1.0.6

    ------------------------
    
    - Fix compatibility with pytest 3.3+.
    
    Thanks to Bruno Oliveira for this fix!
    

    1.0.5

    -------------------
    
    - Fix ordering issue that would cause some tests to fail when run on systems
    using tmpfs.
    

    1.0.4

    -------------------
    
    - Fix another bug in :class:`~sybil.parsers.codeblock.CodeBlockParser` where
    a :rst:dir:`code-block` followed by a less-indented block would be
    incorrectly indented, resulting in a :class:`SyntaxError`.
    

    1.0.3

    -------------------
    
    - Fix bug in :func:`~sybil.parsers.codeblock.CodeBlockParser` where it
    would incorrectly parse indented code blocks.
    

    1.0.2

    -------------------
    
    - Fix bug in :func:`~sybil.parsers.codeblock.CodeBlockParser` where it
    would not find indented code blocks.
    

    1.0.1

    -------------------
    
    - Fix bug where unicode and byte literals weren&#39;t corrected in doctest
    tracebacks, even when :attr:`sybil.parsers.doctest.FIX_BYTE_UNICODE_REPR`
    was specified.
    

    1.0.0

    -------------------
    
    - Initial release
    
    Links
    • PyPI: https://pypi.org/project/sybil
    • Changelog: https://pyup.io/changelogs/sybil/
    • Repo: https://github.com/cjw296/sybil
    opened by pyup-bot 6
  • Update mock to 5.0.0

    Update mock to 5.0.0

    This PR updates mock from 4.0.3 to 5.0.0.

    Changelog

    5.0.0

    -----
    
    - gh-98624: Add a mutex to unittest.mock.NonCallableMock to protect
    concurrent access to mock attributes.
    
    - bpo-43478: Mocks can no longer be used as the specs for other Mocks. As a
    result, an already-mocked object cannot have an attribute mocked using
    `autospec=True` or be the subject of a `create_autospec(...)` call. This
    can uncover bugs in tests since these Mock-derived Mocks will always pass
    certain tests (e.g. isinstance) and builtin assert functions (e.g.
    assert_called_once_with) will unconditionally pass.
    
    - bpo-45156: Fixes infinite loop on :func:`unittest.mock.seal` of mocks
    created by :func:`~unittest.create_autospec`.
    
    - bpo-41403: Make :meth:`mock.patch` raise a :exc:`TypeError` with a
    relevant error message on invalid arg. Previously it allowed a cryptic
    :exc:`AttributeError` to escape.
    
    - gh-91803: Fix an error when using a method of objects mocked with
    :func:`unittest.mock.create_autospec` after it was sealed with
    :func:`unittest.mock.seal` function.
    
    - bpo-41877: AttributeError for suspected misspellings of assertions on
    mocks are now pointing out that the cause are misspelled assertions and
    also what to do if the misspelling is actually an intended attribute name.
    The unittest.mock document is also updated to reflect the current set of
    recognised misspellings.
    
    - bpo-43478: Mocks can no longer be provided as the specs for other Mocks.
    As a result, an already-mocked object cannot be passed to `mock.Mock()`.
    This can uncover bugs in tests since these Mock-derived Mocks will always
    pass certain tests (e.g. isinstance) and builtin assert functions (e.g.
    assert_called_once_with) will unconditionally pass.
    
    - bpo-45010: Remove support of special method ``__div__`` in
    :mod:`unittest.mock`. It is not used in Python 3.
    
    - gh-84753: :func:`inspect.iscoroutinefunction` now properly returns
    ``True`` when an instance of :class:`unittest.mock.AsyncMock` is passed to
    it.  This makes it consistent with behavior of
    :func:`asyncio.iscoroutinefunction`.  Patch by Mehdi ABAAKOUK.
    
    - bpo-46852: Remove the undocumented private ``float.__set_format__()``
    method, previously known as ``float.__setformat__()`` in Python 3.7. Its
    docstring said: &quot;You probably don&#x27;t want to use this function. It exists
    mainly to be used in Python&#x27;s test suite.&quot; Patch by Victor Stinner.
    
    - gh-98086: Make sure ``patch.dict()`` can be applied on async functions.
    
    - gh-100287: Fix the interaction of :func:`unittest.mock.seal` with
    :class:`unittest.mock.AsyncMock`.
    
    - gh-83076: Instantiation of ``Mock()`` and ``AsyncMock()`` is now 3.8x
    faster.
    
    - bpo-41877: A check is added against misspellings of autospect, auto_spec
    and set_spec being passed as arguments to patch, patch.object and
    create_autospec.
    
    Links
    • PyPI: https://pypi.org/project/mock
    • Changelog: https://pyup.io/changelogs/mock/
    • Docs: http://mock.readthedocs.org/en/latest/
    opened by pyup-bot 1
  • Update sybil to 4.0.0

    Update sybil to 4.0.0

    This PR updates sybil from 2.0.1 to 4.0.0.

    Changelog

    4.0.0

    -------------------
    
    - Restructure to support lexing source languages such as ReST and MyST
    while testing examples in target languages such as Python, doctest and bash.
    
    - Add support for :doc:`MyST examples &lt;myst&gt;`.
    
    - Include a :ref:`plan for migrating &lt;migrating-from-sphinx.ext.doctest&gt;`
    from ``sphinx.ext.doctest``.
    

    3.0.1

    -------------------
    
    - Continue with the ever shifting sands of pytest APIs, this time appeasing
    warnings from pytest 7 that when fixed break compatibility with pytest 6.
    

    3.0.0

    -------------------
    
    - Require pytest 6.2.0.
    
    - Drop Python 2 support.
    
    - Add support for Python 3.10
    
    - Remove the ``encoding`` parameter to :class:`~sybil.parsers.rest.DocTestParser`
    as it is no longer used.
    
    - :class:`~sybil.parsers.rest.CodeBlockParser` has been renamed to
    :class:`~sybil.parsers.rest.PythonCodeBlockParser`, see the
    :ref:`codeblock-parser` documentation for details.
    
    - Support has been added to check examples in Python source code in addition to
    documentation source files.
    
    - ``FIX_BYTE_UNICODE_REPR`` has been removed as it should no
    longer be needed.
    
    Thanks to Stefan Behnel for his work on :ref:`codeblock-parser` parsing!
    
    Links
    • PyPI: https://pypi.org/project/sybil
    • Changelog: https://pyup.io/changelogs/sybil/
    • Repo: https://github.com/simplistix/sybil
    opened by pyup-bot 1
  • Update pylint to 2.15.9

    Update pylint to 2.15.9

    This PR updates pylint from 2.11.1 to 2.15.9.

    The bot wasn't able to find a changelog for this release. Got an idea?

    Links
    • PyPI: https://pypi.org/project/pylint
    • Changelog: https://pyup.io/changelogs/pylint/
    opened by pyup-bot 1
  • Update astroid to 2.12.13

    Update astroid to 2.12.13

    This PR updates astroid from 2.8.0 to 2.12.13.

    The bot wasn't able to find a changelog for this release. Got an idea?

    Links
    • PyPI: https://pypi.org/project/astroid
    opened by pyup-bot 1
  • Update sphinx_rtd_theme to 1.1.1

    Update sphinx_rtd_theme to 1.1.1

    This PR updates sphinx_rtd_theme from 1.0.0 to 1.1.1.

    The bot wasn't able to find a changelog for this release. Got an idea?

    Links
    • PyPI: https://pypi.org/project/sphinx-rtd-theme
    • Repo: https://github.com/readthedocs/sphinx_rtd_theme
    opened by pyup-bot 1
  • Update pytest to 7.2.0

    Update pytest to 7.2.0

    This PR updates pytest from 6.2.5 to 7.2.0.

    Changelog

    7.1.3

    =========================
    
    Bug Fixes
    ---------
    
    - `10060 &lt;https://github.com/pytest-dev/pytest/issues/10060&gt;`_: When running with ``--pdb``, ``TestCase.tearDown`` is no longer called for tests when the *class* has been skipped via ``unittest.skip`` or ``pytest.mark.skip``.
    
    
    - `10190 &lt;https://github.com/pytest-dev/pytest/issues/10190&gt;`_: Invalid XML characters in setup or teardown error messages are now properly escaped for JUnit XML reports.
    
    
    - `10230 &lt;https://github.com/pytest-dev/pytest/issues/10230&gt;`_: Ignore ``.py`` files created by ``pyproject.toml``-based editable builds introduced in `pip 21.3 &lt;https://pip.pypa.io/en/stable/news/#v21-3&gt;`__.
    
    
    - `3396 &lt;https://github.com/pytest-dev/pytest/issues/3396&gt;`_: Doctests now respect the ``--import-mode`` flag.
    
    
    - `9514 &lt;https://github.com/pytest-dev/pytest/issues/9514&gt;`_: Type-annotate ``FixtureRequest.param`` as ``Any`` as a stop gap measure until :issue:`8073` is fixed.
    
    
    - `9791 &lt;https://github.com/pytest-dev/pytest/issues/9791&gt;`_: Fixed a path handling code in ``rewrite.py`` that seems to work fine, but was incorrect and fails in some systems.
    
    
    - `9917 &lt;https://github.com/pytest-dev/pytest/issues/9917&gt;`_: Fixed string representation for :func:`pytest.approx` when used to compare tuples.
    
    
    
    Improved Documentation
    ----------------------
    
    - `9937 &lt;https://github.com/pytest-dev/pytest/issues/9937&gt;`_: Explicit note that :fixture:`tmpdir` fixture is discouraged in favour of :fixture:`tmp_path`.
    
    
    
    Trivial/Internal Changes
    ------------------------
    
    - `10114 &lt;https://github.com/pytest-dev/pytest/issues/10114&gt;`_: Replace `atomicwrites &lt;https://github.com/untitaker/python-atomicwrites&gt;`__ dependency on windows with `os.replace`.
    

    7.1.2

    =========================
    
    Bug Fixes
    ---------
    
    - `9726 &lt;https://github.com/pytest-dev/pytest/issues/9726&gt;`_: An unnecessary ``numpy`` import inside :func:`pytest.approx` was removed.
    
    
    - `9820 &lt;https://github.com/pytest-dev/pytest/issues/9820&gt;`_: Fix comparison of  ``dataclasses`` with ``InitVar``.
    
    
    - `9869 &lt;https://github.com/pytest-dev/pytest/issues/9869&gt;`_: Increase ``stacklevel`` for the ``NODE_CTOR_FSPATH_ARG`` deprecation to point to the
    user&#x27;s code, not pytest.
    
    
    - `9871 &lt;https://github.com/pytest-dev/pytest/issues/9871&gt;`_: Fix a bizarre (and fortunately rare) bug where the `temp_path` fixture could raise
    an internal error while attempting to get the current user&#x27;s username.
    

    7.1.1

    =========================
    
    Bug Fixes
    ---------
    
    - `9767 &lt;https://github.com/pytest-dev/pytest/issues/9767&gt;`_: Fixed a regression in pytest 7.1.0 where some conftest.py files outside of the source tree (e.g. in the `site-packages` directory) were not picked up.
    

    7.1.0

    =========================
    
    Breaking Changes
    ----------------
    
    - `8838 &lt;https://github.com/pytest-dev/pytest/issues/8838&gt;`_: As per our policy, the following features have been deprecated in the 6.X series and are now
    removed:
    
    * ``pytest._fillfuncargs`` function.
    
    * ``pytest_warning_captured`` hook - use ``pytest_warning_recorded`` instead.
    
    * ``-k -foobar`` syntax - use ``-k &#x27;not foobar&#x27;`` instead.
    
    * ``-k foobar:`` syntax.
    
    * ``pytest.collect`` module - import from ``pytest`` directly.
    
    For more information consult
    `Deprecations and Removals &lt;https://docs.pytest.org/en/latest/deprecations.html&gt;`__ in the docs.
    
    
    - `9437 &lt;https://github.com/pytest-dev/pytest/issues/9437&gt;`_: Dropped support for Python 3.6, which reached `end-of-life &lt;https://devguide.python.org/#status-of-python-branches&gt;`__ at 2021-12-23.
    
    
    
    Improvements
    ------------
    
    - `5192 &lt;https://github.com/pytest-dev/pytest/issues/5192&gt;`_: Fixed test output for some data types where ``-v`` would show less information.
    
    Also, when showing diffs for sequences, ``-q`` would produce full diffs instead of the expected diff.
    
    
    - `9362 &lt;https://github.com/pytest-dev/pytest/issues/9362&gt;`_: pytest now avoids specialized assert formatting when it is detected that the default ``__eq__`` is overridden in ``attrs`` or ``dataclasses``.
    
    
    - `9536 &lt;https://github.com/pytest-dev/pytest/issues/9536&gt;`_: When ``-vv`` is given on command line, show skipping and xfail reasons in full instead of truncating them to fit the terminal width.
    
    
    - `9644 &lt;https://github.com/pytest-dev/pytest/issues/9644&gt;`_: More information about the location of resources that led Python to raise :class:`ResourceWarning` can now
    be obtained by enabling :mod:`tracemalloc`.
    
    See :ref:`resource-warnings` for more information.
    
    
    - `9678 &lt;https://github.com/pytest-dev/pytest/issues/9678&gt;`_: More types are now accepted in the ``ids`` argument to ``pytest.mark.parametrize``.
    Previously only `str`, `float`, `int` and `bool` were accepted;
    now `bytes`, `complex`, `re.Pattern`, `Enum` and anything with a `__name__` are also accepted.
    
    
    - `9692 &lt;https://github.com/pytest-dev/pytest/issues/9692&gt;`_: :func:`pytest.approx` now raises a :class:`TypeError` when given an unordered sequence (such as :class:`set`).
    
    Note that this implies that custom classes which only implement ``__iter__`` and ``__len__`` are no longer supported as they don&#x27;t guarantee order.
    
    
    
    Bug Fixes
    ---------
    
    - `8242 &lt;https://github.com/pytest-dev/pytest/issues/8242&gt;`_: The deprecation of raising :class:`unittest.SkipTest` to skip collection of
    tests during the pytest collection phase is reverted - this is now a supported
    feature again.
    
    
    - `9493 &lt;https://github.com/pytest-dev/pytest/issues/9493&gt;`_: Symbolic link components are no longer resolved in conftest paths.
    This means that if a conftest appears twice in collection tree, using symlinks, it will be executed twice.
    For example, given
    
       tests/real/conftest.py
       tests/real/test_it.py
       tests/link -&gt; tests/real
    
    running ``pytest tests`` now imports the conftest twice, once as ``tests/real/conftest.py`` and once as ``tests/link/conftest.py``.
    This is a fix to match a similar change made to test collection itself in pytest 6.0 (see :pull:`6523` for details).
    
    
    - `9626 &lt;https://github.com/pytest-dev/pytest/issues/9626&gt;`_: Fixed count of selected tests on terminal collection summary when there were errors or skipped modules.
    
    If there were errors or skipped modules on collection, pytest would mistakenly subtract those from the selected count.
    
    
    - `9645 &lt;https://github.com/pytest-dev/pytest/issues/9645&gt;`_: Fixed regression where ``--import-mode=importlib`` used together with :envvar:`PYTHONPATH` or :confval:`pythonpath` would cause import errors in test suites.
    
    
    - `9708 &lt;https://github.com/pytest-dev/pytest/issues/9708&gt;`_: :fixture:`pytester` now requests a :fixture:`monkeypatch` fixture instead of creating one internally. This solves some issues with tests that involve pytest environment variables.
    
    
    - `9730 &lt;https://github.com/pytest-dev/pytest/issues/9730&gt;`_: Malformed ``pyproject.toml`` files now produce a clearer error message.
    

    7.0.1

    =========================
    
    Bug Fixes
    ---------
    
    - `9608 &lt;https://github.com/pytest-dev/pytest/issues/9608&gt;`_: Fix invalid importing of ``importlib.readers`` in Python 3.9.
    
    
    - `9610 &lt;https://github.com/pytest-dev/pytest/issues/9610&gt;`_: Restore `UnitTestFunction.obj` to return unbound rather than bound method.
    Fixes a crash during a failed teardown in unittest TestCases with non-default `__init__`.
    Regressed in pytest 7.0.0.
    
    
    - `9636 &lt;https://github.com/pytest-dev/pytest/issues/9636&gt;`_: The ``pythonpath`` plugin was renamed to ``python_path``. This avoids a conflict with the ``pytest-pythonpath`` plugin.
    
    
    - `9642 &lt;https://github.com/pytest-dev/pytest/issues/9642&gt;`_: Fix running tests by id with ``::`` in the parametrize portion.
    
    
    - `9643 &lt;https://github.com/pytest-dev/pytest/issues/9643&gt;`_: Delay issuing a :class:`~pytest.PytestWarning` about diamond inheritance involving :class:`~pytest.Item` and
    :class:`~pytest.Collector` so it can be filtered using :ref:`standard warning filters &lt;warnings&gt;`.
    

    7.0.0

    =========================
    
    (**Please see the full set of changes for this release also in the 7.0.0rc1 notes below**)
    
    Deprecations
    ------------
    
    - `9488 &lt;https://github.com/pytest-dev/pytest/issues/9488&gt;`_: If custom subclasses of nodes like :class:`pytest.Item` override the
    ``__init__`` method, they should take ``**kwargs``. See
    :ref:`uncooperative-constructors-deprecated` for details.
    
    Note that a deprection warning is only emitted when there is a conflict in the
    arguments pytest expected to pass. This deprecation was already part of pytest
    7.0.0rc1 but wasn&#x27;t documented.
    
    
    
    Bug Fixes
    ---------
    
    - `9355 &lt;https://github.com/pytest-dev/pytest/issues/9355&gt;`_: Fixed error message prints function decorators when using assert in Python 3.8 and above.
    
    
    - `9396 &lt;https://github.com/pytest-dev/pytest/issues/9396&gt;`_: Ensure :attr:`pytest.Config.inifile` is available during the :func:`pytest_cmdline_main &lt;_pytest.hookspec.pytest_cmdline_main&gt;` hook (regression during ``7.0.0rc1``).
    
    
    
    Improved Documentation
    ----------------------
    
    - `9404 &lt;https://github.com/pytest-dev/pytest/issues/9404&gt;`_: Added extra documentation on alternatives to common misuses of `pytest.warns(None)` ahead of its deprecation.
    
    
    - `9505 &lt;https://github.com/pytest-dev/pytest/issues/9505&gt;`_: Clarify where the configuration files are located. To avoid confusions documentation mentions
    that configuration file is located in the root of the repository.
    
    
    
    Trivial/Internal Changes
    ------------------------
    
    - `9521 &lt;https://github.com/pytest-dev/pytest/issues/9521&gt;`_: Add test coverage to assertion rewrite path.
    

    7.0.0rc1

    ============================
    
    Breaking Changes
    ----------------
    
    - `7259 &lt;https://github.com/pytest-dev/pytest/issues/7259&gt;`_: The :ref:`Node.reportinfo() &lt;non-python tests&gt;` function first return value type has been expanded from `py.path.local | str` to `os.PathLike[str] | str`.
    
    Most plugins which refer to `reportinfo()` only define it as part of a custom :class:`pytest.Item` implementation.
    Since `py.path.local` is a `os.PathLike[str]`, these plugins are unaffacted.
    
    Plugins and users which call `reportinfo()`, use the first return value and interact with it as a `py.path.local`, would need to adjust by calling `py.path.local(fspath)`.
    Although preferably, avoid the legacy `py.path.local` and use `pathlib.Path`, or use `item.location` or `item.path`, instead.
    
    Note: pytest was not able to provide a deprecation period for this change.
    
    
    - `8246 &lt;https://github.com/pytest-dev/pytest/issues/8246&gt;`_: ``--version`` now writes version information to ``stdout`` rather than ``stderr``.
    
    
    - `8733 &lt;https://github.com/pytest-dev/pytest/issues/8733&gt;`_: Drop a workaround for `pyreadline &lt;https://github.com/pyreadline/pyreadline&gt;`__ that made it work with ``--pdb``.
    
    The workaround was introduced in `1281 &lt;https://github.com/pytest-dev/pytest/pull/1281&gt;`__ in 2015, however since then
    `pyreadline seems to have gone unmaintained &lt;https://github.com/pyreadline/pyreadline/issues/58&gt;`__, is `generating
    warnings &lt;https://github.com/pytest-dev/pytest/issues/8847&gt;`__, and will stop working on Python 3.10.
    
    
    - `9061 &lt;https://github.com/pytest-dev/pytest/issues/9061&gt;`_: Using :func:`pytest.approx` in a boolean context now raises an error hinting at the proper usage.
    
    It is apparently common for users to mistakenly use ``pytest.approx`` like this:
    
    .. code-block:: python
    
       assert pytest.approx(actual, expected)
    
    While the correct usage is:
    
    .. code-block:: python
    
       assert actual == pytest.approx(expected)
    
    The new error message helps catch those mistakes.
    
    
    - `9277 &lt;https://github.com/pytest-dev/pytest/issues/9277&gt;`_: The ``pytest.Instance`` collector type has been removed.
    Importing ``pytest.Instance`` or ``_pytest.python.Instance`` returns a dummy type and emits a deprecation warning.
    See :ref:`instance-collector-deprecation` for details.
    
    
    - `9308 &lt;https://github.com/pytest-dev/pytest/issues/9308&gt;`_: **PytestRemovedIn7Warning deprecation warnings are now errors by default.**
    
    Following our plan to remove deprecated features with as little disruption as
    possible, all warnings of type ``PytestRemovedIn7Warning`` now generate errors
    instead of warning messages by default.
    
    **The affected features will be effectively removed in pytest 7.1**, so please consult the
    :ref:`deprecations` section in the docs for directions on how to update existing code.
    
    In the pytest ``7.0.X`` series, it is possible to change the errors back into warnings as a
    stopgap measure by adding this to your ``pytest.ini`` file:
    
    .. code-block:: ini
    
       [pytest]
       filterwarnings =
           ignore::pytest.PytestRemovedIn7Warning
    
    But this will stop working when pytest ``7.1`` is released.
    
    **If you have concerns** about the removal of a specific feature, please add a
    comment to :issue:`9308`.
    
    
    
    Deprecations
    ------------
    
    - `7259 &lt;https://github.com/pytest-dev/pytest/issues/7259&gt;`_: ``py.path.local`` arguments for hooks have been deprecated. See :ref:`the deprecation note &lt;legacy-path-hooks-deprecated&gt;` for full details.
    
    ``py.path.local`` arguments to Node constructors have been deprecated. See :ref:`the deprecation note &lt;node-ctor-fspath-deprecation&gt;` for full details.
    
    .. note::
       The name of the :class:`~_pytest.nodes.Node` arguments and attributes (the
       new attribute being ``path``) is **the opposite** of the situation for hooks
       (the old argument being ``path``).
    
       This is an unfortunate artifact due to historical reasons, which should be
       resolved in future versions as we slowly get rid of the :pypi:`py`
       dependency (see :issue:`9283` for a longer discussion).
    
    
    - `7469 &lt;https://github.com/pytest-dev/pytest/issues/7469&gt;`_: Directly constructing the following classes is now deprecated:
    
    - ``_pytest.mark.structures.Mark``
    - ``_pytest.mark.structures.MarkDecorator``
    - ``_pytest.mark.structures.MarkGenerator``
    - ``_pytest.python.Metafunc``
    - ``_pytest.runner.CallInfo``
    - ``_pytest._code.ExceptionInfo``
    - ``_pytest.config.argparsing.Parser``
    - ``_pytest.config.argparsing.OptionGroup``
    - ``_pytest.pytester.HookRecorder``
    
    These constructors have always been considered private, but now issue a deprecation warning, which may become a hard error in pytest 8.
    
    
    - `8242 &lt;https://github.com/pytest-dev/pytest/issues/8242&gt;`_: Raising :class:`unittest.SkipTest` to skip collection of tests during the
    pytest collection phase is deprecated. Use :func:`pytest.skip` instead.
    
    Note: This deprecation only relates to using :class:`unittest.SkipTest` during test
    collection. You are probably not doing that. Ordinary usage of
    :class:`unittest.SkipTest` / :meth:`unittest.TestCase.skipTest` /
    :func:`unittest.skip` in unittest test cases is fully supported.
    
    .. note:: This deprecation has been reverted in pytest 7.1.0.
    
    
    - `8315 &lt;https://github.com/pytest-dev/pytest/issues/8315&gt;`_: Several behaviors of :meth:`Parser.addoption &lt;pytest.Parser.addoption&gt;` are now
    scheduled for removal in pytest 8 (deprecated since pytest 2.4.0):
    
    - ``parser.addoption(..., help=&quot;.. %default ..&quot;)`` - use ``%(default)s`` instead.
    - ``parser.addoption(..., type=&quot;int/string/float/complex&quot;)`` - use ``type=int`` etc. instead.
    
    
    - `8447 &lt;https://github.com/pytest-dev/pytest/issues/8447&gt;`_: Defining a custom pytest node type which is both an :class:`pytest.Item &lt;Item&gt;` and a :class:`pytest.Collector &lt;Collector&gt;` (e.g. :class:`pytest.File &lt;File&gt;`) now issues a warning.
    It was never sanely supported and triggers hard to debug errors.
    
    See :ref:`the deprecation note &lt;diamond-inheritance-deprecated&gt;` for full details.
    
    
    - `8592 &lt;https://github.com/pytest-dev/pytest/issues/8592&gt;`_: :hook:`pytest_cmdline_preparse` has been officially deprecated.  It will be removed in a future release.  Use :hook:`pytest_load_initial_conftests` instead.
    
    See :ref:`the deprecation note &lt;cmdline-preparse-deprecated&gt;` for full details.
    
    
    - `8645 &lt;https://github.com/pytest-dev/pytest/issues/8645&gt;`_: :func:`pytest.warns(None) &lt;pytest.warns&gt;` is now deprecated because many people used
    it to mean &quot;this code does not emit warnings&quot;, but it actually had the effect of
    checking that the code emits at least one warning of any type - like ``pytest.warns()``
    or ``pytest.warns(Warning)``.
    
    
    - `8948 &lt;https://github.com/pytest-dev/pytest/issues/8948&gt;`_: :func:`pytest.skip(msg=...) &lt;pytest.skip&gt;`, :func:`pytest.fail(msg=...) &lt;pytest.fail&gt;` and :func:`pytest.exit(msg=...) &lt;pytest.exit&gt;`
    signatures now accept a ``reason`` argument instead of ``msg``.  Using ``msg`` still works, but is deprecated and will be removed in a future release.
    
    This was changed for consistency with :func:`pytest.mark.skip &lt;pytest.mark.skip&gt;` and  :func:`pytest.mark.xfail &lt;pytest.mark.xfail&gt;` which both accept
    ``reason`` as an argument.
    
    - `8174 &lt;https://github.com/pytest-dev/pytest/issues/8174&gt;`_: The following changes have been made to types reachable through :attr:`pytest.ExceptionInfo.traceback`:
    
    - The ``path`` property of ``_pytest.code.Code`` returns ``Path`` instead of ``py.path.local``.
    - The ``path`` property of ``_pytest.code.TracebackEntry`` returns ``Path`` instead of ``py.path.local``.
    
    There was no deprecation period for this change (sorry!).
    
    
    Features
    --------
    
    - `5196 &lt;https://github.com/pytest-dev/pytest/issues/5196&gt;`_: Tests are now ordered by definition order in more cases.
    
    In a class hierarchy, tests from base classes are now consistently ordered before tests defined on their subclasses (reverse MRO order).
    
    
    - `7132 &lt;https://github.com/pytest-dev/pytest/issues/7132&gt;`_: Added two environment variables :envvar:`PYTEST_THEME` and :envvar:`PYTEST_THEME_MODE` to let the users customize the pygments theme used.
    
    
    - `7259 &lt;https://github.com/pytest-dev/pytest/issues/7259&gt;`_: Added :meth:`cache.mkdir() &lt;pytest.Cache.mkdir&gt;`, which is similar to the existing :meth:`cache.makedir() &lt;pytest.Cache.makedir&gt;`,
    but returns a :class:`pathlib.Path` instead of a legacy ``py.path.local``.
    
    Added a ``paths`` type to :meth:`parser.addini() &lt;pytest.Parser.addini&gt;`,
    as in ``parser.addini(&quot;mypaths&quot;, &quot;my paths&quot;, type=&quot;paths&quot;)``,
    which is similar to the existing ``pathlist``,
    but returns a list of :class:`pathlib.Path` instead of legacy ``py.path.local``.
    
    
    - `7469 &lt;https://github.com/pytest-dev/pytest/issues/7469&gt;`_: The types of objects used in pytest&#x27;s API are now exported so they may be used in type annotations.
    
    The newly-exported types are:
    
    - ``pytest.Config`` for :class:`Config &lt;pytest.Config&gt;`.
    - ``pytest.Mark`` for :class:`marks &lt;pytest.Mark&gt;`.
    - ``pytest.MarkDecorator`` for :class:`mark decorators &lt;pytest.MarkDecorator&gt;`.
    - ``pytest.MarkGenerator`` for the :class:`pytest.mark &lt;pytest.MarkGenerator&gt;` singleton.
    - ``pytest.Metafunc`` for the :class:`metafunc &lt;pytest.MarkGenerator&gt;` argument to the :hook:`pytest_generate_tests` hook.
    - ``pytest.CallInfo`` for the :class:`CallInfo &lt;pytest.CallInfo&gt;` type passed to various hooks.
    - ``pytest.PytestPluginManager`` for :class:`PytestPluginManager &lt;pytest.PytestPluginManager&gt;`.
    - ``pytest.ExceptionInfo`` for the :class:`ExceptionInfo &lt;pytest.ExceptionInfo&gt;` type returned from :func:`pytest.raises` and passed to various hooks.
    - ``pytest.Parser`` for the :class:`Parser &lt;pytest.Parser&gt;` type passed to the :hook:`pytest_addoption` hook.
    - ``pytest.OptionGroup`` for the :class:`OptionGroup &lt;pytest.OptionGroup&gt;` type returned from the :func:`parser.addgroup &lt;pytest.Parser.getgroup&gt;` method.
    - ``pytest.HookRecorder`` for the :class:`HookRecorder &lt;pytest.HookRecorder&gt;` type returned from :class:`~pytest.Pytester`.
    - ``pytest.RecordedHookCall`` for the :class:`RecordedHookCall &lt;pytest.HookRecorder&gt;` type returned from :class:`~pytest.HookRecorder`.
    - ``pytest.RunResult`` for the :class:`RunResult &lt;pytest.RunResult&gt;` type returned from :class:`~pytest.Pytester`.
    - ``pytest.LineMatcher`` for the :class:`LineMatcher &lt;pytest.RunResult&gt;` type used in :class:`~pytest.RunResult` and others.
    - ``pytest.TestReport`` for the :class:`TestReport &lt;pytest.TestReport&gt;` type used in various hooks.
    - ``pytest.CollectReport`` for the :class:`CollectReport &lt;pytest.CollectReport&gt;` type used in various hooks.
    
    Constructing most of them directly is not supported; they are only meant for use in type annotations.
    Doing so will emit a deprecation warning, and may become a hard-error in pytest 8.0.
    
    Subclassing them is also not supported. This is not currently enforced at runtime, but is detected by type-checkers such as mypy.
    
    
    - `7856 &lt;https://github.com/pytest-dev/pytest/issues/7856&gt;`_: :ref:`--import-mode=importlib &lt;import-modes&gt;` now works with features that
    depend on modules being on :py:data:`sys.modules`, such as :mod:`pickle` and :mod:`dataclasses`.
    
    
    - `8144 &lt;https://github.com/pytest-dev/pytest/issues/8144&gt;`_: The following hooks now receive an additional ``pathlib.Path`` argument, equivalent to an existing ``py.path.local`` argument:
    
    - :hook:`pytest_ignore_collect` - The ``collection_path`` parameter (equivalent to existing ``path`` parameter).
    - :hook:`pytest_collect_file` - The ``file_path`` parameter (equivalent to existing ``path`` parameter).
    - :hook:`pytest_pycollect_makemodule` - The ``module_path`` parameter (equivalent to existing ``path`` parameter).
    - :hook:`pytest_report_header` - The ``start_path`` parameter (equivalent to existing ``startdir`` parameter).
    - :hook:`pytest_report_collectionfinish` - The ``start_path`` parameter (equivalent to existing ``startdir`` parameter).
    
    .. note::
       The name of the :class:`~_pytest.nodes.Node` arguments and attributes (the
       new attribute being ``path``) is **the opposite** of the situation for hooks
       (the old argument being ``path``).
    
       This is an unfortunate artifact due to historical reasons, which should be
       resolved in future versions as we slowly get rid of the :pypi:`py`
       dependency (see :issue:`9283` for a longer discussion).
    
    
    - `8251 &lt;https://github.com/pytest-dev/pytest/issues/8251&gt;`_: Implement ``Node.path`` as a ``pathlib.Path``. Both the old ``fspath`` and this new attribute gets set no matter whether ``path`` or ``fspath`` (deprecated) is passed to the constructor. It is a replacement for the ``fspath`` attribute (which represents the same path as ``py.path.local``). While ``fspath`` is not deprecated yet
    due to the ongoing migration of methods like :meth:`~_pytest.Item.reportinfo`, we expect to deprecate it in a future release.
    
    .. note::
       The name of the :class:`~_pytest.nodes.Node` arguments and attributes (the
       new attribute being ``path``) is **the opposite** of the situation for hooks
       (the old argument being ``path``).
    
       This is an unfortunate artifact due to historical reasons, which should be
       resolved in future versions as we slowly get rid of the :pypi:`py`
       dependency (see :issue:`9283` for a longer discussion).
    
    
    - `8421 &lt;https://github.com/pytest-dev/pytest/issues/8421&gt;`_: :func:`pytest.approx` now works on :class:`~decimal.Decimal` within mappings/dicts and sequences/lists.
    
    
    - `8606 &lt;https://github.com/pytest-dev/pytest/issues/8606&gt;`_: pytest invocations with ``--fixtures-per-test`` and ``--fixtures`` have been enriched with:
    
    - Fixture location path printed with the fixture name.
    - First section of the fixture&#x27;s docstring printed under the fixture name.
    - Whole of fixture&#x27;s docstring printed under the fixture name using ``--verbose`` option.
    
    
    - `8761 &lt;https://github.com/pytest-dev/pytest/issues/8761&gt;`_: New :ref:`version-tuple` attribute, which makes it simpler for users to do something depending on the pytest version (such as declaring hooks which are introduced in later versions).
    
    
    - `8789 &lt;https://github.com/pytest-dev/pytest/issues/8789&gt;`_: Switch TOML parser from ``toml`` to ``tomli`` for TOML v1.0.0 support in ``pyproject.toml``.
    
    
    - `8920 &lt;https://github.com/pytest-dev/pytest/issues/8920&gt;`_: Added :class:`pytest.Stash`, a facility for plugins to store their data on :class:`~pytest.Config` and :class:`~_pytest.nodes.Node`\s in a type-safe and conflict-free manner.
    See :ref:`plugin-stash` for details.
    
    
    - `8953 &lt;https://github.com/pytest-dev/pytest/issues/8953&gt;`_: :class:`RunResult &lt;_pytest.pytester.RunResult&gt;` method :meth:`assert_outcomes &lt;_pytest.pytester.RunResult.assert_outcomes&gt;` now accepts a
    ``warnings`` argument to assert the total number of warnings captured.
    
    
    - `8954 &lt;https://github.com/pytest-dev/pytest/issues/8954&gt;`_: ``--debug`` flag now accepts a :class:`str` file to route debug logs into, remains defaulted to `pytestdebug.log`.
    
    
    - `9023 &lt;https://github.com/pytest-dev/pytest/issues/9023&gt;`_: Full diffs are now always shown for equality assertions of iterables when
    `CI` or ``BUILD_NUMBER`` is found in the environment, even when ``-v`` isn&#x27;t
    used.
    
    
    - `9113 &lt;https://github.com/pytest-dev/pytest/issues/9113&gt;`_: :class:`RunResult &lt;_pytest.pytester.RunResult&gt;` method :meth:`assert_outcomes &lt;_pytest.pytester.RunResult.assert_outcomes&gt;` now accepts a
    ``deselected`` argument to assert the total number of deselected tests.
    
    
    - `9114 &lt;https://github.com/pytest-dev/pytest/issues/9114&gt;`_: Added :confval:`pythonpath` setting that adds listed paths to :data:`sys.path` for the duration of the test session. If you currently use the pytest-pythonpath or pytest-srcpaths plugins, you should be able to replace them with built-in `pythonpath` setting.
    
    
    
    Improvements
    ------------
    
    - `7480 &lt;https://github.com/pytest-dev/pytest/issues/7480&gt;`_: A deprecation scheduled to be removed in a major version X (e.g. pytest 7, 8, 9, ...) now uses warning category `PytestRemovedInXWarning`,
    a subclass of :class:`~pytest.PytestDeprecationWarning`,
    instead of :class:`PytestDeprecationWarning` directly.
    
    See :ref:`backwards-compatibility` for more details.
    
    
    - `7864 &lt;https://github.com/pytest-dev/pytest/issues/7864&gt;`_: Improved error messages when parsing warning filters.
    
    Previously pytest would show an internal traceback, which besides being ugly sometimes would hide the cause
    of the problem (for example an ``ImportError`` while importing a specific warning type).
    
    
    - `8335 &lt;https://github.com/pytest-dev/pytest/issues/8335&gt;`_: Improved :func:`pytest.approx` assertion messages for sequences of numbers.
    
    The assertion messages now dumps a table with the index and the error of each diff.
    Example::
    
       &gt;       assert [1, 2, 3, 4] == pytest.approx([1, 3, 3, 5])
       E       assert comparison failed for 2 values:
       E         Index | Obtained | Expected
       E         1     | 2        | 3 +- 3.0e-06
       E         3     | 4        | 5 +- 5.0e-06
    
    
    - `8403 &lt;https://github.com/pytest-dev/pytest/issues/8403&gt;`_: By default, pytest will truncate long strings in assert errors so they don&#x27;t clutter the output too much,
    currently at ``240`` characters by default.
    
    However, in some cases the longer output helps, or is even crucial, to diagnose a failure. Using ``-v`` will
    now increase the truncation threshold to ``2400`` characters, and ``-vv`` or higher will disable truncation entirely.
    
    
    - `8509 &lt;https://github.com/pytest-dev/pytest/issues/8509&gt;`_: Fixed issue where :meth:`unittest.TestCase.setUpClass` is not called when a test has `/` in its name since pytest 6.2.0.
    
    This refers to the path part in pytest node IDs, e.g. ``TestClass::test_it`` in the node ID ``tests/test_file.py::TestClass::test_it``.
    
    Now, instead of assuming that the test name does not contain ``/``, it is assumed that test path does not contain ``::``. We plan to hopefully make both of these work in the future.
    
    
    - `8803 &lt;https://github.com/pytest-dev/pytest/issues/8803&gt;`_: It is now possible to add colors to custom log levels on cli log.
    
    By using :func:`add_color_level &lt;_pytest.logging.add_color_level&gt;` from a ``pytest_configure`` hook, colors can be added::
    
       logging_plugin = config.pluginmanager.get_plugin(&#x27;logging-plugin&#x27;)
       logging_plugin.log_cli_handler.formatter.add_color_level(logging.INFO, &#x27;cyan&#x27;)
       logging_plugin.log_cli_handler.formatter.add_color_level(logging.SPAM, &#x27;blue&#x27;)
    
    See :ref:`log_colors` for more information.
    
    
    - `8822 &lt;https://github.com/pytest-dev/pytest/issues/8822&gt;`_: When showing fixture paths in `--fixtures` or `--fixtures-by-test`, fixtures coming from pytest itself now display an elided path, rather than the full path to the file in the `site-packages` directory.
    
    
    - `8898 &lt;https://github.com/pytest-dev/pytest/issues/8898&gt;`_: Complex numbers are now treated like floats and integers when generating parameterization IDs.
    
    
    - `9062 &lt;https://github.com/pytest-dev/pytest/issues/9062&gt;`_: ``--stepwise-skip`` now implicitly enables ``--stepwise`` and can be used on its own.
    
    
    - `9205 &lt;https://github.com/pytest-dev/pytest/issues/9205&gt;`_: :meth:`pytest.Cache.set` now preserves key order when saving dicts.
    
    
    
    Bug Fixes
    ---------
    
    - `7124 &lt;https://github.com/pytest-dev/pytest/issues/7124&gt;`_: Fixed an issue where ``__main__.py`` would raise an ``ImportError`` when ``--doctest-modules`` was provided.
    
    
    - `8061 &lt;https://github.com/pytest-dev/pytest/issues/8061&gt;`_: Fixed failing ``staticmethod`` test cases if they are inherited from a parent test class.
    
    
    - `8192 &lt;https://github.com/pytest-dev/pytest/issues/8192&gt;`_: ``testdir.makefile`` now silently accepts values which don&#x27;t start with ``.`` to maintain backward compatibility with older pytest versions.
    
    ``pytester.makefile`` now issues a clearer error if the ``.`` is missing in the ``ext`` argument.
    
    
    - `8258 &lt;https://github.com/pytest-dev/pytest/issues/8258&gt;`_: Fixed issue where pytest&#x27;s ``faulthandler`` support would not dump traceback on crashes
    if the :mod:`faulthandler` module was already enabled during pytest startup (using
    ``python -X dev -m pytest`` for example).
    
    
    - `8317 &lt;https://github.com/pytest-dev/pytest/issues/8317&gt;`_: Fixed an issue where illegal directory characters derived from ``getpass.getuser()`` raised an ``OSError``.
    
    
    - `8367 &lt;https://github.com/pytest-dev/pytest/issues/8367&gt;`_: Fix ``Class.from_parent`` so it forwards extra keyword arguments to the constructor.
    
    
    - `8377 &lt;https://github.com/pytest-dev/pytest/issues/8377&gt;`_: The test selection options ``pytest -k`` and ``pytest -m`` now support matching
    names containing forward slash (``/``) characters.
    
    
    - `8384 &lt;https://github.com/pytest-dev/pytest/issues/8384&gt;`_: The ``pytest.mark.skip`` decorator now correctly handles its arguments. When the ``reason`` argument is accidentally given both positional and as a keyword (e.g. because it was confused with ``skipif``), a ``TypeError`` now occurs. Before, such tests were silently skipped, and the positional argument ignored. Additionally, ``reason`` is now documented correctly as positional or keyword (rather than keyword-only).
    
    
    - `8394 &lt;https://github.com/pytest-dev/pytest/issues/8394&gt;`_: Use private names for internal fixtures that handle classic setup/teardown so that they don&#x27;t show up with the default ``--fixtures`` invocation (but they still show up with ``--fixtures -v``).
    
    
    - `8456 &lt;https://github.com/pytest-dev/pytest/issues/8456&gt;`_: The :confval:`required_plugins` config option now works correctly when pre-releases of plugins are installed, rather than falsely claiming that those plugins aren&#x27;t installed at all.
    
    
    - `8464 &lt;https://github.com/pytest-dev/pytest/issues/8464&gt;`_: ``-c &lt;config file&gt;`` now also properly defines ``rootdir`` as the directory that contains ``&lt;config file&gt;``.
    
    
    - `8503 &lt;https://github.com/pytest-dev/pytest/issues/8503&gt;`_: :meth:`pytest.MonkeyPatch.syspath_prepend` no longer fails when
    ``setuptools`` is not installed.
    It now only calls :func:`pkg_resources.fixup_namespace_packages` if
    ``pkg_resources`` was previously imported, because it is not needed otherwise.
    
    
    - `8548 &lt;https://github.com/pytest-dev/pytest/issues/8548&gt;`_: Introduce fix to handle precision width in ``log-cli-format`` in turn to fix output coloring for certain formats.
    
    
    - `8796 &lt;https://github.com/pytest-dev/pytest/issues/8796&gt;`_: Fixed internal error when skipping doctests.
    
    
    - `8983 &lt;https://github.com/pytest-dev/pytest/issues/8983&gt;`_: The test selection options ``pytest -k`` and ``pytest -m`` now support matching names containing backslash (`\\`) characters.
    Backslashes are treated literally, not as escape characters (the values being matched against are already escaped).
    
    
    - `8990 &lt;https://github.com/pytest-dev/pytest/issues/8990&gt;`_: Fix `pytest -vv` crashing with an internal exception `AttributeError: &#x27;str&#x27; object has no attribute &#x27;relative_to&#x27;` in some cases.
    
    
    - `9077 &lt;https://github.com/pytest-dev/pytest/issues/9077&gt;`_: Fixed confusing error message when ``request.fspath`` / ``request.path`` was accessed from a session-scoped fixture.
    
    
    - `9131 &lt;https://github.com/pytest-dev/pytest/issues/9131&gt;`_: Fixed the URL used by ``--pastebin`` to use `bpa.st &lt;http://bpa.st&gt;`__.
    
    
    - `9163 &lt;https://github.com/pytest-dev/pytest/issues/9163&gt;`_: The end line number and end column offset are now properly set for rewritten assert statements.
    
    
    - `9169 &lt;https://github.com/pytest-dev/pytest/issues/9169&gt;`_: Support for the ``files`` API from ``importlib.resources`` within rewritten files.
    
    
    - `9272 &lt;https://github.com/pytest-dev/pytest/issues/9272&gt;`_: The nose compatibility module-level fixtures `setup()` and `teardown()` are now only called once per module, instead of for each test function.
    They are now called even if object-level `setup`/`teardown` is defined.
    
    
    
    Improved Documentation
    ----------------------
    
    - `4320 &lt;https://github.com/pytest-dev/pytest/issues/4320&gt;`_: Improved docs for `pytester.copy_example`.
    
    
    - `5105 &lt;https://github.com/pytest-dev/pytest/issues/5105&gt;`_: Add automatically generated :ref:`plugin-list`. The list is updated on a periodic schedule.
    
    
    - `8337 &lt;https://github.com/pytest-dev/pytest/issues/8337&gt;`_: Recommend `numpy.testing &lt;https://numpy.org/doc/stable/reference/routines.testing.html&gt;`__ module on :func:`pytest.approx` documentation.
    
    
    - `8655 &lt;https://github.com/pytest-dev/pytest/issues/8655&gt;`_: Help text for ``--pdbcls`` more accurately reflects the option&#x27;s behavior.
    
    
    - `9210 &lt;https://github.com/pytest-dev/pytest/issues/9210&gt;`_: Remove incorrect docs about ``confcutdir`` being a configuration option: it can only be set through the ``--confcutdir`` command-line option.
    
    
    - `9242 &lt;https://github.com/pytest-dev/pytest/issues/9242&gt;`_: Upgrade readthedocs configuration to use a `newer Ubuntu version &lt;https://blog.readthedocs.com/new-build-specification/&gt;`__` with better unicode support for PDF docs.
    
    
    - `9341 &lt;https://github.com/pytest-dev/pytest/issues/9341&gt;`_: Various methods commonly used for :ref:`non-python tests` are now correctly documented in the reference docs. They were undocumented previously.
    
    
    
    Trivial/Internal Changes
    ------------------------
    
    - `8133 &lt;https://github.com/pytest-dev/pytest/issues/8133&gt;`_: Migrate to ``setuptools_scm`` 6.x to use ``SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST`` for more robust release tooling.
    
    
    - `8174 &lt;https://github.com/pytest-dev/pytest/issues/8174&gt;`_: The following changes have been made to internal pytest types/functions:
    
    - The ``_pytest.code.getfslineno()`` function returns ``Path`` instead of ``py.path.local``.
    - The ``_pytest.python.path_matches_patterns()`` function takes ``Path`` instead of ``py.path.local``.
    - The ``_pytest._code.Traceback.cut()`` function accepts any ``os.PathLike[str]``, not just ``py.path.local``.
    
    
    - `8248 &lt;https://github.com/pytest-dev/pytest/issues/8248&gt;`_: Internal Restructure: let ``python.PyObjMixin`` inherit from ``nodes.Node`` to carry over typing information.
    
    
    - `8432 &lt;https://github.com/pytest-dev/pytest/issues/8432&gt;`_: Improve error message when :func:`pytest.skip` is used at module level without passing `allow_module_level=True`.
    
    
    - `8818 &lt;https://github.com/pytest-dev/pytest/issues/8818&gt;`_: Ensure ``regendoc`` opts out of ``TOX_ENV`` cachedir selection to ensure independent example test runs.
    
    
    - `8913 &lt;https://github.com/pytest-dev/pytest/issues/8913&gt;`_: The private ``CallSpec2._arg2scopenum`` attribute has been removed after an internal refactoring.
    
    
    - `8967 &lt;https://github.com/pytest-dev/pytest/issues/8967&gt;`_: :hook:`pytest_assertion_pass` is no longer considered experimental and
    future changes to it will be considered more carefully.
    
    
    - `9202 &lt;https://github.com/pytest-dev/pytest/issues/9202&gt;`_: Add github action to upload coverage report to codecov instead of bash uploader.
    
    
    - `9225 &lt;https://github.com/pytest-dev/pytest/issues/9225&gt;`_: Changed the command used to create sdist and wheel artifacts: using the build package instead of setup.py.
    
    
    - `9351 &lt;https://github.com/pytest-dev/pytest/issues/9351&gt;`_: Correct minor typos in doc/en/example/special.rst.
    
    Links
    • PyPI: https://pypi.org/project/pytest
    • Changelog: https://pyup.io/changelogs/pytest/
    • Homepage: https://docs.pytest.org/en/latest/
    opened by pyup-bot 1
Source code for NAACL 2021 paper "TR-BERT: Dynamic Token Reduction for Accelerating BERT Inference"

TR-BERT Source code and dataset for "TR-BERT: Dynamic Token Reduction for Accelerating BERT Inference". The code is based on huggaface's transformers.

THUNLP 37 Oct 30, 2022
Official NumPy Implementation of Deep Networks from the Principle of Rate Reduction (2021)

Deep Networks from the Principle of Rate Reduction This repository is the official NumPy implementation of the paper Deep Networks from the Principle

Ryan Chan 49 Dec 16, 2022
PyTorch implementation HoroPCA: Hyperbolic Dimensionality Reduction via Horospherical Projections

HoroPCA This code is the official PyTorch implementation of the ICML 2021 paper: HoroPCA: Hyperbolic Dimensionality Reduction via Horospherical Projec

HazyResearch 52 Nov 14, 2022
TLDR: Twin Learning for Dimensionality Reduction

TLDR (Twin Learning for Dimensionality Reduction) is an unsupervised dimensionality reduction method that combines neighborhood embedding learning with the simplicity and effectiveness of recent self-supervised learning losses.

NAVER 105 Dec 28, 2022
TensorFlow implementation of Barlow Twins (Barlow Twins: Self-Supervised Learning via Redundancy Reduction)

Barlow-Twins-TF This repository implements Barlow Twins (Barlow Twins: Self-Supervised Learning via Redundancy Reduction) in TensorFlow and demonstrat

Sayak Paul 36 Sep 14, 2022
InDuDoNet+: A Model-Driven Interpretable Dual Domain Network for Metal Artifact Reduction in CT Images

InDuDoNet+: A Model-Driven Interpretable Dual Domain Network for Metal Artifact Reduction in CT Images Hong Wang, Yuexiang Li, Haimiao Zhang, Deyu Men

Hong Wang 4 Dec 27, 2022
An official source code for paper Deep Graph Clustering via Dual Correlation Reduction, accepted by AAAI 2022

Dual Correlation Reduction Network An official source code for paper Deep Graph Clustering via Dual Correlation Reduction, accepted by AAAI 2022. Any

yueliu1999 109 Dec 23, 2022
DimReductionClustering - Dimensionality Reduction + Clustering + Unsupervised Score Metrics

Dimensionality Reduction + Clustering + Unsupervised Score Metrics Introduction

null 11 Nov 15, 2022
This demo showcase the use of onnxruntime-rs with a GPU on CUDA 11 to run Bert in a data pipeline with Rust.

Demo BERT ONNX pipeline written in rust This demo showcase the use of onnxruntime-rs with a GPU on CUDA 11 to run Bert in a data pipeline with Rust. R

Xavier Tao 14 Dec 17, 2022
Procedural 3D data generation pipeline for architecture

Synthetic Dataset Generator Authors: Stanislava Fedorova Alberto Tono Meher Shashwat Nigam Jiayao Zhang Amirhossein Ahmadnia Cecilia bolognesi Dominik

Computational Design Institute 49 Nov 25, 2022
A data annotation pipeline to generate high-quality, large-scale speech datasets with machine pre-labeling and fully manual auditing.

About This repository provides data and code for the paper: Scalable Data Annotation Pipeline for High-Quality Large Speech Datasets Development (subm

Appen Repos 86 Dec 7, 2022
DWIPrep is a robust and easy-to-use pipeline for preprocessing of diverse dMRI data.

DWIPrep: A Robust Preprocessing Pipeline for dMRI Data DWIPrep is a robust and easy-to-use pipeline for preprocessing of diverse dMRI data. The transp

Gal Ben-Zvi 1 Jan 9, 2023
A practical ML pipeline for data labeling with experiment tracking using DVC.

Auto Label Pipeline A practical ML pipeline for data labeling with experiment tracking using DVC Goals: Demonstrate reproducible ML Use DVC to build a

Todd Cook 4 Mar 8, 2022
torchlm is aims to build a high level pipeline for face landmarks detection, it supports training, evaluating, exporting, inference(Python/C++) and 100+ data augmentations

??A high level pipeline for face landmarks detection, supports training, evaluating, exporting, inference and 100+ data augmentations, compatible with torchvision and albumentations, can easily install with pip.

DefTruth 142 Dec 25, 2022
Automates Machine Learning Pipeline with Feature Engineering and Hyper-Parameters Tuning :rocket:

MLJAR Automated Machine Learning Documentation: https://supervised.mljar.com/ Source Code: https://github.com/mljar/mljar-supervised Table of Contents

MLJAR 2.4k Dec 31, 2022
git《Pseudo-ISP: Learning Pseudo In-camera Signal Processing Pipeline from A Color Image Denoiser》(2021) GitHub: [fig5]

Pseudo-ISP: Learning Pseudo In-camera Signal Processing Pipeline from A Color Image Denoiser Abstract The success of deep denoisers on real-world colo

Yue Cao 51 Nov 22, 2022
[CVPR-2021] UnrealPerson: An adaptive pipeline for costless person re-identification

UnrealPerson: An Adaptive Pipeline for Costless Person Re-identification In our paper (arxiv), we propose a novel pipeline, UnrealPerson, that decreas

ZhangTianyu 70 Oct 10, 2022