Recent Releases of textx
textx - 4.1.0
What's Changed
- Add nchar to TextXError by @davidchall in https://github.com/textX/textX/pull/421
- pyproject.toml: remove the "<3.13" Python version limit by @stanislaw in https://github.com/textX/textX/pull/429
New Contributors
- @davidchall made their first contribution in https://github.com/textX/textX/pull/421
Full Changelog: https://github.com/textX/textX/compare/4.0.1...4.1.0
- Python
Published by igordejanovic over 1 year ago
textx - Bugfix release 4.0.1
This is just a small release to address build system usage in test projects. No change to regular library users whatsoever. Only affects package maintainers.
4.0.1
Fixed
- Use flit-core for test projects. See 418. Thanks @mgorny for reporting.
- Python
Published by igordejanovic over 2 years ago
textx - Release 4.0.0
This is mainly a maintenance/cleanup release to support newer Python versions. Users of the library should be safe to upgrade unless using Python <3.8.
4.0.0
Fixed
- Removed word boundary from INT rule regex. Thanks @NevenaAl for reporting the issue and providing the test (401).
Changed
- (BIC) Removed Python support for 3.6 and 3.7. The minimal supported version is 3.8.
- Migrated to pyproject.toml for project configuration. See (416).
- Migrated to importlib for language/generator registration/discovery as setuptools pkg_resources is deprecated and unsupported from Python 3.12. See 411. Thanks @EmilyBourne and @nchammas for reporting. See (416).
- (BIC) Added dependency to
importlib-metadatabackward compatibility package for Python versions < 3.10. If Python is >=3.10 this library is not used. See (416). - Use ruff instead of flake8 for linting. ruff can also be used for code formating. See (416).
- Relaxed dependency for click to accept 8.x. See 414. Thanks @RootMeanSqr for reporting the issue. See (416).
- Use flit for package building and publishing.
- Python
Published by igordejanovic over 2 years ago
textx - Bugfix release 3.1.1
3.1.1
Fixed
- Source distribution packaging issue ([392]). Thanks yurivict@GitHub.
- Python
Published by igordejanovic about 3 years ago
textx - Release 3.1.0
Fixed
- Fixed RREL lookup in case of multi-meta models (some special cases were not handled correctly; #379).
- Fixed test suite invocation to use
pytestoverpy.testthat stopped working in pytest-7.2.0. (#389). Thanks mgorny@GitHub.
Changed
- Changed separator in obj. rule refs from
|to:. Old separator will still be allowed until version 4.0. (#385, #384) - Removed the dependency on
futurepackage (#388). Thanks mgorny@GitHub. - Removed vendored
sixlibrary. We don't need 2.x support anymore. Thanks davidchall@GitHub for reporting the issue (#390).
- Python
Published by igordejanovic about 3 years ago
textx - 3.0.0
3.0.0
This release is mostly backward compatible. We are releasing it as a major version mostly due to dropping support for deprecated Python versions. The lowest version supported is 3.6. It might work with other versions but it is not tested.
Added
- Added RREL-'fixed name'-extension, allowing to follow model elements given a fixed name (e.g. an object defined in a builtin model). Details described in rrel.md ([#364]).
- Added ability to access the full path of named objects traversed while resolving a RREL expression (#304).
- Added decorator
textx.textxerror_wrapfor object processors to automatically transform non-TextXErrors to TextXErrors in order to indicate the filename and position of the element being processed (#306).
Fixed
model_param_defsonTextXMetaMetaModel(#360).- Interpreting of backslash special chars (e.g.
\n,\t) in grammar string matches (#323). Possible (BIC) - backslash chars were not interpreted in grammar files and raw Python strings prior to this fix. - Exception/error messages (#320)
- Relaxed assert in model creation enabling some model changes in user classes (#311)
- Model export to dot in cases where textX object is replaced in the processor(#301)
- Do not allow "empty" RREL expressions (compare unittests in
test_rrel.py; [#355])
Changed
- Inheritance chain calculation. Possible (BIC) (#369).
- Added
def_file_nameattribute toRefRulePositionfor storing the definition's model file name in case of cross-references between models. (#313,#277) - Migrated from Travis CI to GitHub Actions (#307)
- Dropped support for deprecated Python versions. The lowest supported version is 3.6. (BIC)
- Python
Published by igordejanovic almost 4 years ago
textx -
Highlights
- RREL which is an extension to textX grammar language for specification of reference resolving rules.
clicklibrary is now optional so if you usetextxCLI command you have to install textX withpip install textx[cli].- starting from this release we are providing signed wheels and source packages of both textX and Arpeggio. To check the signatures import my GPG key from keyserver or from my homepage.
Details
Added
textx generate. Documented passing in arbitrary parameters which can be used in the generator function. Also, implemented passing of model parameters defined in the meta-model (model_param_defsand_tx_model_params) ([#299])get_locationfunction for producingline/col/filenamefrom any textX object. ([#294])builtin_modelsof typeModelRepositoryto meta-model constructor. Used to supply pre-loaded models forImportURIbased scoping providers as a fallback to search into. ([#284])- Initial implementation of TEP-001 ([#111]) allowing to specify scope
provider behavior within the grammar itself. [#274] and [#287] introduce
the RREL (reference resolving expression language) to define how
references are resolved. Details see
rrel.md. - Parameter
should_followof callable type toget_childrenandget_children_of_typemodel API calls to decide if the element should be traversed. ([#281])
Fixed
- Fixed bug with Falsy user classes in
get_children([#288]) - Fixed bug with unhashable objects during dot export ([#283])
- Fixed bug where (Ext)RelativeName scope providers accepted any referenced object that contained the lookup name in its name. Thanks ipa-mdl@GitHub ([#267])
- Fixed bug in
flow_dsltest project causing static files not being included in package build/installation. Thanks sebix@GitHub ([#272]). - Fixed bug, where user classes not used in the grammar caused exceptions ([#270]): now, when passing a list of user classes, you need to use them in your grammar. You can alternatively also pass a callable (see metamodel.md; [#273]). Also, using base classes for rules from imported grammars in conjunction with user classes is not allowed and results in an exception.
- Fixed bug in
export.pyconcerning html escaping in the dot export of a textx meta-model ([#276]).
Changed
_tx_model_param_definitionsdeprecated in favor ofmodel_param_defs([#298]).clickis now an optional dependency, only when CLI is needed ([#292])- Make warning about not overwriting generated file more visible (01341ec3)
- Truncate long strings during dot export for better diagram readability ([#282]).
- Changed
unhashable typeexception when a list is used fornameattributes by raising a more informative exception and extending docs to document the issue and a proper way to solve it ([#40], [#266]).
- Python
Published by igordejanovic over 5 years ago