- No changes yet.
- No changes yet.
- Fix pip installation. [#506]
- Changed minimum required Python version to 3.6. [#498]
- Changed minimum required Sphinx version to 1.7. [#498]
- Added a --parallel option for build_docs. [#498]
- Fix compatibility with setuptools 42.x. [#504]
- Correctly handle main package directory inside namespace package. [#486]
- Reverting issuing deprecation warning for the
build_sphinx
command. [#482] - Make sure that all data files get included in tar file releases. [#485]
- Make sure that
[options.package_data]
in setup.cfg is taken into account when collecting package data. [#453] - Simplified the code for the custom build_ext command. [#446]
- Avoid importing the astropy package when trying to get the test command when testing astropy itself. [#450]
- Avoid importing whole package when trying to get version information. Note
that this has also introduced a small API change -
cython_version
andcompiler
can no longer be imported from thepackage.version
module generated by astropy-helpers. Instead, you can import these frompackage.cython_version
andpackage.compiler_version
respectively. [#442] - Make it possible to call
generate_version_py
andregister_commands
without any arguments, which causes information to be read in from thesetup.cfg
file. [#440] - Simplified setup.py and moved most of the configuration to setup.cfg. [#445]
- Add a new
astropy_helpers.setup_helpers.setup
function that does all the default boilerplate in typicalsetup.py
files that use astropy-helpers. [#443] - Remove
deprecated
,deprecated_attribute
, andminversion
fromastropy_helpers.utils
. [#447] - Updated minimum required version of setuptools to 30.3.0. [#440]
- Remove functionality to adjust compilers if a broken compiler is detected. This is not useful anymore as only a single compiler was previously patched (now unlikely to be used) and this was only to fix a compilation issue in the core astropy package. [#421]
sphinx-astropy
is now a required dependency to build the docs, the machinery to install it as eggs have been removed. [#474]
- Moved documentation from README to Sphinx. [#444]
- Fixed broken OpenMP detection when building with
-coverage
. [#434]
- Added extensive documentation about astropy-helpers to the README.rst file. [#416]
- Fixed the compatibility of the build_docs command with Sphinx 1.8 and above. [#413]
- Removing deprecated test_helpers.py file. [#369]
- Removing ez_setup.py file and requiring setuptools 1.0 or later. [#384]
- Remove all sphinx components from
astropy-helpers
. These are now replaced by thesphinx-astropy
package in conjunction with theastropy-theme-sphinx
,sphinx-automodapi
, andnumpydoc
packages. [#368] - openmp_helpers.py: Make add_openmp_flags_if_available() work for clang.
The necessary include, library, and runtime paths now get added to the C test code
used to determine if openmp works.
Autogenerator utility added
openmp_enabled.is_openmp_enabled()
which can be called post build to determine state of OpenMP support. [#382] - Add version_info tuple to autogenerated version.py. Allows for simple version checking, i.e. version_info > (2,0,1). [#385]
- Nothing changed.
- Nothing changed.
- Removing Python 2 support, including 2to3. Packages wishing to keep Python 2 support should NOT update to this version. [#340]
- Removing deprecated _test_compat making astropy a hard dependency for packages wishing to use the astropy tests machinery. [#314]
- Removing unused 'register' command since packages should be uploaded with twine and get registered automatically. [#332]
- Fixed deprecation warning in sphinx theme. [#493]
- Fixed an issue that caused pytest to crash if it tried to collect tests. [#488]
- Removed
tocdepthfix
sphinx extension that worked around a big in Sphinx that has been long fixed. [#475] - Allow Python dev versions to pass the python version check. [#476]
- Updated bundled version of sphinx-automodapi to v0.11. [#478]
- Updated bundled version of sphinx-automodapi to v0.10. [#439]
- Updated bundled sphinx extensions version to sphinx-astropy v1.1.1. [#454]
- Include package name in error message for Python version in
ah_bootstrap.py
. [#441]
- Fixed compatibility with Sphinx 1.8+. [#428]
- Fixed error that occurs when installing a package in an environment where
numpy
is not already installed. [#404] - Updated bundled version of sphinx-automodapi to v0.9. [#422]
- Updated bundled version of numpydoc to v0.8.0. [#423]
- Removing ez_setup.py file and requiring setuptools 1.0 or later. [#384]
- Avoid deprecation warning due to
exclude=
keyword insetup.py
. [#379]
- Fix segmentation faults that occurred when the astropy-helpers submodule was first initialized in packages that also contained Cython code. [#375]
- Support dotted package names as namespace packages in generate_version_py. [#370]
- Fix compatibility with setuptools 36.x and above. [#372]
- Fix false negative in add_openmp_flags_if_available when measuring code coverage with gcc. [#374]
- Make sure that astropy-helpers 3.x.x is not downloaded on Python 2. [#362, #363]
- The bundled version of sphinx-automodapi has been updated to v0.7. [#365]
- Add --auto-use and --no-auto-use command-line flags to match the
auto_use
configuration option, and add an alias--use-system-astropy-helpers
for--no-auto-use
. [#366]
- Added new helper function add_openmp_flags_if_available that can add OpenMP compilation flags to a C/Cython extension if needed. [#346]
- Update numpydoc to v0.7. [#343]
- The function
get_git_devstr
now returns'0'
instead ofNone
when no git repository is present. This allows generation of development version strings that are in a format thatsetuptools
expects (e.g. "1.1.3.dev0" instead of "1.1.3.dev"). [#330] - It is now possible to override generated timestamps to make builds
reproducible by setting the
SOURCE_DATE_EPOCH
environment variable [#341] - Mark Sphinx extensions as parallel-safe. [#344]
- Switch to using mathjax instead of imgmath for local builds. [#342]
- Deprecate
exclude
parameter of various functions in setup_helpers since it could not work as intended. Add new functionadd_exclude_packages
to provide intended behavior. [#331] - Allow custom Sphinx doctest extension to recognize and process standard
doctest directives
testsetup
anddoctest
. [#335]
- Fix compatibility with Sphinx <1.5. [#326]
- Add support for package that lies in a subdirectory. [#249]
- Removing
compat.subprocess
. [#298] - Python 3.3 is no longer supported. [#300]
- The 'automodapi' Sphinx extension (and associated dependencies) has now been moved to a standalone package which can be found at https://github.com/astropy/sphinx-automodapi - this is now bundled in astropy-helpers under astropy_helpers.extern.automodapi for convenience. Version shipped with astropy-helpers is v0.6. [#278, #303, #309, #323]
- The
numpydoc
Sphinx extension has now been moved toastropy_helpers.extern
. [#278] - Fix
build_docs
error catching, so it doesn't hide Sphinx errors. [#292] - Fix compatibility with Sphinx 1.6. [#318]
- Updating ez_setup.py to the last version before it's removal. [#321]
- Fixed the missing button to hide output in documentation code blocks. [#287]
- Fixed bug when
build_docs
when running with the clean (-l) option. [#289] - Add alternative location for various intersphinx inventories to fall back to. [#293]
build_sphinx
has been deprecated in favor of thebuild_docs
command. [#246]- Force the use of Cython's old
build_ext
command. A newbuild_ext
command was added in Cython 0.25, but it does not work with astropy-helpers currently. [#261]
- Added sphinx configuration value
automodsumm_inherited_members
. IfTrue
this will include members that are inherited from a base class in the generated API docs. Defaults toFalse
which matches the previous behavior. [#215] - Fixed
build_sphinx
to recognize builds that succeeded but have output after the "build succeeded." statement. This only applies when--warnings-returncode
is given (which is primarily relevant for Travis documentation builds). [#223] - Fixed
build_sphinx
the sphinx extensions to not output a spurious warning for sphinx versions > 1.4. [#229] - Add Python version dependent local sphinx inventories that contain otherwise missing references. [#216]
astropy_helpers
now require Sphinx 1.3 or later. [#226]
- The CSS for the sphinx documentation was altered to prevent some text overflow problems. [#217]
- Fixed crash in build with
AttributeError: cython_create_listing
with older versions of setuptools. [#209, #210]
- The original
AstropyTest
class inastropy_helpers
, which implements thesetup.py test
command, is deprecated in favor of moving the implementation of that command closer to the actual Astropy test runner inastropy.tests
. Now a dummytest
command is provided solely for informing users that they needastropy
installed to run the tests (however, the previous, now deprecated implementation is still provided and continues to work with older versions of Astropy). See the related issue for more details. [#184] - Added a useful new utility function to
astropy_helpers.utils
calledfind_data_files
. This is similar to thefind_packages
function in setuptools in that it can be used to search a package for data files (matching a pattern) that can be passed to thepackage_data
argument forsetup()
. See the docstring toastropy_helpers.utils.find_data_files
for more details. [#42] - The
astropy_helpers
module now sets the global_ASTROPY_SETUP_
flag upon import (from within asetup.py
) script, so it's not necessary to have this in thesetup.py
script explicitly. If in doubt though, there's no harm in setting it twice. Putting it inastropy_helpers
just ensures that any other imports that occur during build will have this flag set. [#191] - It is now possible to use Cython as a
setup_requires
build requirement, and still build Cython extensions even if Cython wasn't available at the beginning of the build processes (that is, is automatically downloaded via setuptools' processing ofsetup_requires
). [#185] - Moves the
adjust_compiler
check into thebuild_ext
command itself, so it's only used when actually building extension modules. This also deprecates the stand-aloneadjust_compiler
function. [#76] - When running the
build_sphinx
/build_docs
command with the-w
option, the output from Sphinx is streamed as it runs instead of silently buffering until the doc build is complete. [#197]
- Fix missing import in
astropy_helpers/utils.py
. [#196]
- Fixed bug where running
./setup.py build_sphinx
could return successfully even when the build was not successful (and should have returned a non-zero error code). [#199]
- Fixed a regression in the
./setup.py test
command that was introduced in v1.0.4.
- Fixed issue with the sphinx documentation css where the line numbers for code blocks were not aligned with the code. [#179, #180]
- Fixed crash that could occur when trying to build Cython extension modules when Cython isn't installed. Normally this still results in a failed build, but was supposed to provide a useful error message rather than crash outright (this was a regression introduced in v1.0.3). [#181]
- Fixed a crash that could occur on Python 3 when a working C compiler isn't found. [#182]
- Quieted warnings about deprecated Numpy API in Cython extensions, when building Cython extensions against Numpy >= 1.7. [#183, #186]
- Improved support for py.test >= 2.7--running the
./setup.py test
command now copies all doc pages into the temporary test directory as well, so that all test files have a "common root directory". [#189, #190]
- Added workaround for sphinx-doc/sphinx#1843, a but in Sphinx which prevented descriptor classes with a custom metaclass from being documented correctly. [#158]
- Added an alias for the
./setup.py build_sphinx
command as./setup.py build_docs
which, to a new contributor, should hopefully be less cryptic. [#161] - The fonts in graphviz diagrams now match the font of the HTML content. [#169]
- When the documentation is built on readthedocs.org, MathJax will be used for math rendering. When built elsewhere, the "pngmath" extension is still used for math rendering. [#170]
- Fix crash when importing astropy_helpers when running with
python -OO
[#171] - The
build
andbuild_ext
stages now correctly recognize the presence of C++ files in Cython extensions (previously only vanilla C worked). [#173]
- Various fixes enabling the astropy-helpers Sphinx build command and Sphinx extensions to work with Sphinx 1.3. [#148]
- More improvement to the ability to handle multiple versions of astropy-helpers being imported in the same Python interpreter session in the (somewhat rare) case of nested installs. [#147]
- To better support high resolution displays, use SVG for the astropy logo and linkout image, falling back to PNGs for browsers that support it. [#150, #151]
- Improve
setup_helpers.get_compiler_version
to work with more compilers, and to return more info. This will help fix builds of Astropy on less common compilers, like Sun C. [#153]
- Released in concert with v0.4.8 to address the same issues.
- Improved the
ah_bootstrap
script's ability to override existing installations of astropy-helpers with new versions in the context of installing multiple packages simultaneously within the same Python interpreter (e.g. when one package has in itssetup_requires
another package that uses a different version of astropy-helpers. [#144] - Added a workaround to an issue in matplotlib that can, in rare cases, lead to a crash when installing packages that import matplotlib at build time. [#144]
Added new pre-/post-command hook points for
setup.py
commands. Now any package can define code to run before and/or after anysetup.py
command without having to manually subclass that command by addingpre_<command_name>_hook
andpost_<command_name>_hook
callables to the package'ssetup_package.py
module. See the PR for more details. [#112]The following objects in the
astropy_helpers.setup_helpers
module have been relocated:get_dummy_distribution
,get_distutils_*
,get_compiler_option
,add_command_option
,is_distutils_display_option
->astropy_helpers.distutils_helpers
should_build_with_cython
,generate_build_ext_command
->astropy_helpers.commands.build_ext
AstropyBuildPy
->astropy_helpers.commands.build_py
AstropyBuildSphinx
->astropy_helpers.commands.build_sphinx
AstropyInstall
->astropy_helpers.commands.install
AstropyInstallLib
->astropy_helpers.commands.install_lib
AstropyRegister
->astropy_helpers.commands.register
get_pkg_version_module
->astropy_helpers.version_helpers
write_if_different
,import_file
,get_numpy_include_path
->astropy_helpers.utils
All of these are "soft" deprecations in the sense that they are still importable from
astropy_helpers.setup_helpers
for now, and there is no (easy) way to produce deprecation warnings when importing these objects fromsetup_helpers
rather than directly from the modules they are defined in. But please consider updating any imports to these objects. [#110]Use of the
astropy.sphinx.ext.astropyautosummary
extension is deprecated for use with Sphinx < 1.2. Instead it should suffice to remove this extension for theextensions
list in yourconf.py
and add the stocksphinx.ext.autosummary
instead. [#131]
- Fixed incorrect/missing git hash being added to the generated
version.py
when creating a release. [#141]
- Fixed problems related to the automatically generated _compiler module not being created properly. [#139]
- Fixed an issue where ah_bootstrap.py could blow up when astropy_helper's version number is 1.0.
- Added a workaround for documentation of properties in the rare case where the class's metaclass has a property of the same name. [#130]
- Fixed an issue on Python 3 where importing a package using astropy-helper's generated version.py module would crash when the current working directory is an empty git repository. [#114, #137]
- Fixed an issue where the "revision count" appended to .dev versions by the generated version.py did not accurately reflect the revision count for the package it belongs to, and could be invalid if the current working directory is an unrelated git repository. [#107, #137]
- Likewise, fixed a confusing warning message that could occur in the same circumstances as the above issue. [#121, #137]
- More improvements for building the documentation using Python 3.x. [#100]
- Additional minor fixes to Python 3 support. [#115]
- Updates to support new test features in Astropy [#92, #106]
- The generated
version.py
file now preserves the git hash of installed copies of the package as well as when building a source distribution. That is, the git hash of the changeset that was installed/released is preserved. [#87] - In smart resolver add resolution for class links when they exist in the intersphinx inventory, but not the mapping of the current package (e.g. when an affiliated package uses an astropy core class of which "actual" and "documented" location differs) [#88]
- Fixed a bug that could occur when running
setup.py
for the first time in a repository that uses astropy-helpers as a submodule:AttributeError: 'NoneType' object has no attribute 'mkdtemp'
[#89] - Fixed a bug where optional arguments to the
doctest-skip
Sphinx directive were sometimes being left in the generated documentation output. [#90] - Improved support for building the documentation using Python 3.x. [#96]
- Avoid error message if .git directory is not present. [#91]
- Fixed some CSS issues in generated API docs. [#69]
- Fixed the warning message that could be displayed when generating a version number with some older versions of git. [#77]
- Fixed automodsumm to work with new versions of Sphinx (>= 1.2.2). [#80]
- Fixed git revision count on systems with git versions older than v1.7.2. [#70]
- Fixed display of warning text when running a git command fails (previously the output of stderr was not being decoded properly). [#70]
- The
--offline
flag tosetup.py
understood byah_bootstrap.py
now also prevents git from going online to fetch submodule updates. [#67] - The Sphinx extension for converting issue numbers to links in the changelog
now supports working on arbitrary pages via a new
conf.py
setting:changelog_links_docpattern
. By default it affects thechangelog
andwhatsnew
pages in one's Sphinx docs. [#61] - Fixed crash that could result from users with missing/misconfigured locale settings. [#58]
- The font used for code examples in the docs is now the
system-defined
monospace
font, rather thanMinaco
, which is not available on all platforms. [#50]
Initial release of astropy-helpers. See APE4 for details of the motivation and design of this package.
The
astropy_helpers
package replaces the following modules in theastropy
package:astropy.setup_helpers
->astropy_helpers.setup_helpers
astropy.version_helpers
->astropy_helpers.version_helpers
astropy.sphinx
- >astropy_helpers.sphinx
These modules should be considered deprecated in
astropy
, and any new, non-critical changes to those modules will be made inastropy_helpers
instead. Affiliated packages wishing to make use those modules (as in the Astropy package-template) should use the versions fromastropy_helpers
instead, and include theah_bootstrap.py
script in their project, for bootstrapping theastropy_helpers
package in their setup.py script.