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-metadata backward 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 pytest over py.test that 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 future package (#388). Thanks mgorny@GitHub.
  • Removed vendored six library. 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_wrap for 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_defs on TextXMetaMetaModel (#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_name attribute to RefRulePosition for 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.
  • click library is now optional so if you use textx CLI command you have to install textX with pip 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_defs and _tx_model_params) ([#299])
  • get_location function for producing line/col/filename from any textX object. ([#294])
  • builtin_models of type ModelRepository to meta-model constructor. Used to supply pre-loaded models for ImportURI based 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_follow of callable type to get_children and get_children_of_type model 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_dsl test 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.py concerning html escaping in the dot export of a textx meta-model ([#276]).

Changed

  • _tx_model_param_definitions deprecated in favor of model_param_defs ([#298]).
  • click is 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 type exception when a list is used for name attributes 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