We are currently working on porting this changelog to the specifications in Keep a Changelog. This project adheres to Semantic Versioning.
-
Added
--lazy_loader_typed
option, #40. -
Initial support for Python 3.12
- Removed support for Python 3.6
-
Code cleanup
-
Workaround Python 3.12 tokenize changes - new format strings may not be supported yet.
- Extra newlines in generated files
- Can now specify
"*"
in__submodules__
to pattern match on available submodules. - Added
--lazy_loader
option to use thelazy_loader
package for reduced boilerplate.
- GH Issue #14: async functions are now handled correctly
- Issue with
EAGER_IMPORT
- The CLI now errors on unknown arguments unless the
MKINIT_ARGPARSE_LOOSE
environ is et. - Drop support for Python 2.7 and 3.5
- Vendored in orderedset
- Can now detect other existing names in the file and insert them into
__all__
- new
__ignore__
special attribute.
- Dropped Python 3.4 support
- Modified generated lazy init code
__submodules__
can now be a dictionary of submodule names that point to submodule attributes.
- Fixed issues in lazy init
- Fixed issue with ast.Constant
- protected modules will still be exposed even if
--nomod
is specified. - tweaked filtering behavior
- Can now specify
--recursive
on the CLI to generate all__init__.py
files in a package. - Can now specify
--lazy
on the CLI to auto-generate PEP 562 lazy imports.
- Fixed a bug where long module names would be incorrectly formatted
- Can now specify
__external__
- Reworked submodules vs imports.
- Slight API changes.
- Updated CLI docs.
- Can now specify explicit, protected, and private.
- Dry by default specify -w to write
- Reworked CLI
- Can now specify init.py file paths instead in addition to parent directory paths
- Fixes and Version bump
- Removed clutter from module level API
- generated all is now sorted
- generated all is now separated from generated imports by a space
- Moved formatting code to its own module
- Improved handling of existing code when
AUTOGEN_INIT
tags are not specified by making light use of xdoctest's PS1 line parser. - An
__all__
variable is now defined by default. - Formatting is now controlled by an options dict
- Removed attrs kwarg in
static_init
- Added command line arg
--nomods
to disable generating module imports. - Added command line arg
--noall
to disable generating of the all variable. - Added command line arg
--relative
to generate relative instead of absolute imports - Added command line arg
--ignore_all
to ignore all when parsing.
- Changed attribute from
__SUBMODULES__
to__submodules__
. The former is still accepted. - Can now handle attributes defined in if-else and try-except statements as long as they are defined on all non-rejecting paths. (Note: a path is rejecting if it is unconditionally false or it unconditionally raises an exception)
- Ported from
ubelt
0.1.1