./devel/py-rope, Python refactoring library

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.13.0, Package name: py311-rope-1.13.0, Maintainer: pkgsrc-users

Rope is a python refactoring library.

A basic desciption about code refactoring found on wikipedia:

Code refactoring is the process of changing a computer program's
source code without modifying its external functional behavior
in order to improve some of the nonfunctional attributes of the
software.
Advantages include improved code readability and reduced complexity
to improve the maintainability of the source code, as well as a
more expressive internal architecture or object model to improve
extensibility.


Required to run:
[devel/py-setuptools] [lang/python37]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 287.556 KB

Version history: (Expand)


CVS history: (Expand)


   2024-03-24 18:40:18 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-rope: updated to 1.13.0

Release 1.13.0

- Isolate tests that uses external_fixturepkg into a venv (@lieryan)
- Check for ast.Attributes when finding occurrences in fstrings (@sandratsy)
- add validation to refuse Rename refactoring to a python keyword (@lieryan)
- Match on module aliases for autoimport suggestions (@MrBago)
- Remove dependency on `build` package being installed while running tests (@lieryan)
- Improved function parser to use ast parser instead of Worder (@lieryan)
- Update pre-commit (@bagel897)
- Integrate codecov with GHA (@lieryan)
- Minor type hint improvements (@lieryan)
   2024-01-18 11:23:46 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-rope: updated to 1.12.0

Release 1.12.0

- skip directories with perm error when building autoimport index (@MrBago)
- Remove site-packages from packages search tree (@tkrabel)
- Implement os.PathLike on Resource (@lieryan)
- Ensure autoimport requests uses indexes (@lieryan)
- raise exception when extracting the start of a block without the end
   2023-11-09 20:15:57 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-rope: updated to 1.11.0

1.11.0

- Implement `except*` syntax
- allow building documentation without having rope module installed
- Allows the in-memory db to be shared across threads
- create one sqlite3.Connection per thread using a thread local
- change AutoImport's `get_modules` to be case sensitive
   2023-11-07 23:38:10 by Thomas Klausner | Files touched by this commit (112)
Log message:
*: latest py-sphinx only support Python 3.9+
   2023-10-04 22:21:19 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-rope: updated to 1.10.0

Release 1.10.0

- Add support for Python 3.12
   2023-07-04 15:15:38 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-rope: updated to 1.9.0

Release 1.9.0
- Implement `nonlocal` keyword
- Automatically purge autoimport.db when there is schema change
   2023-05-07 10:39:16 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
py-rope: update to 1.8.0.

# Release 1.8.0

- #650 Install pre-commit hooks on rope repository (@lieryan)
- #655 Remove unused __init__() methods (@edreamleo, @lieryan)
- #656 Reformat using black 23.1.0 (@edreamleo)
- #674 Fix/supress all mypy complaints (@edreamleo)
- #680 Remove a do-nothing statement in soi._handle_first_parameter (@edreamleo)
- #687, #688 Fix autoimport not scanning packages recursively (@lieryan)
   2023-05-04 12:03:52 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
py-rope: update to 1.7.0.

# Release 1.7.0

## Feature

- #548 Implement MoveGlobal using string as destination module names (@lieryan)

## Bug

- #627 Fix parsing of octal literal (@lieryan)
- #643, #435 Fix fstrings with mismatched parens (@apmorton)
- #646 Fix renaming kwargs when refactoring from imports (@apmorton)
- #648 Remove __init__ from import statement when using sqlite autoimport (@bagel897)

## Improvements

- rope.contrib.generate improvements
  - #640 Remove unnecessary eval in generate.py (@edreamleo)
  - #641 Add type annotations for rope.contrib.generate.create_generate() \ 
(@edreamleo)

- call_for_nodes() improvements
  - #634 Remove call_for_nodes(recursive) argument (@edreamleo)
  - #642 Add comments & docstrings related to call_for_nodes (@edreamleo, \ 
@lieryan)

- Data storage improvements
  - #604 Fix test that sometimes leaves files behind in the current working \ 
directory (@lieryan)
  - #606 Deprecate compress_objectdb and compress_history (@lieryan)
  - #607 Remove importing from legacy files with `.pickle` suffix (@lieryan)
  - #611 Implement JSON DataFile serialization (@lieryan)
  - #630 SQLite models improvements (@lieryan)
  - #631 Implement version hash (@lieryan)

## Tech Debt

- #594 Tidy up patchedast (@Alex-CodeLab)
- #595 Global default DEFAULT_TASK_HANDLE (@Alex-CodeLab)
- #609, #610, #612, #613 Fix pyflakes issues (@edreamleo)
- #615 Remove 'unicode' from builtins dict (@edreamleo)
- #616, #621 Remove `file` builtins (@edreamleo)
- #618 Separate pynames and pynamesdef and remove star-import (@edreamleo, @lieryan)
- #620 Remove unused import in occurrences.py (@edreamleo)
- #625 Remove support for deprecated ast nodes (@lieryan)

## Tests/Dev

- #626 Install pre-commit hooks on rope repository (@lieryan)
- #628 Add isort to pre-commit
- #638 Add a function to identify ast Constant nodes more granularly

## Docs

- #636 Update readme to reflect 1.0 has been released.

# Release 1.6.0

## New features & Enhancements

- #559, #560 Improve handling of whitespace in import and from-import statements \ 
(@lieryan)
- #566, #567, #597 Fix variables in kwonlyargs and posonlyargs not being \ 
correctly passed to extracted methods (@lieryan)

## Unit Test

- #589, #596 Fix issue with `sample_project()` creating directories where it \ 
shouldn't when running tests (@lieryan)
- #547 Add config file for linters
- #593 Remove `only_for` decorator for all python versions less than 3.7 (@edreamleo)

## Tech Debt

- Code quality
  - #546 Remove unused vars in test (@lieryan, @edreamleo)
  - #551, #552 Numerous flake8 linter complaints (@edreamleo)
  - #558 Fix typos (@kianmeng)
  - #583, #584 More consistent import style (@edreamleo)
- Python 2-related tech debt
  - #533 Refactoring to Remove usage of unicode type (@lieryan)
  - #549, #553 Remove rope.base.utils.pycompat (@dreamleo)
  - #555 Fix some python2-isms (@lieryan)
- Rope's AST Wrapper
  - #536, #578 walk does not return a value (@edreamleo)
  - #537, #538 Remove special case code from walk (@edreamleo)
  - #581 Remove functions in rope.base.ast that has functionally identical \ 
implementation in stdlib's ast (@lieryan, @edreamleo)
  - #582 Refactoring rope.base.ast and remove rope.base.astutils (@lieryan, \ 
@edreamleo)
- pynames and pyobjects
  - #569, #572 rename pynames to pynamesdef in pyobjectsdef.ph (@edreamleo)

# Release 1.5.1

- #531 Add alternative way to retrieve version number from pyproject.toml

# Release 1.5.0

Date: 2022-11-23

- #492 Feat: Global configuration support (@bagel897)
- #519 Move pytest to pyproject.toml (@gliptak, @bagel897)
- #509 Fix read/write analysis of the left-hand side of an augmented assignment \ 
(@lieryan)
- #522 Implement patchedast parsing of MatchMapping (@lieryan)
- #514 Fix inlining dictionary with inline comment (@lieryan)

# Release 1.4.0

Date: 2022-10-22

## Bug fixes

- #506, #507 Fix issue with parsing function call args list
- #411, #505 Fix extracting generator without parens
- #18, #510 When the function is a builtin function, the call parameter's name \ 
was sometimes incorrectly identified as an AssignedName. This led to rename \ 
refactoring incorrectly renaming these parameters.

# Release 1.3.0

Date: 2022-07-29

## Bug fixes

- #496, #497 Add MatMul operator to patchedast
- #495 Fix autoimport collection for compiled modules

## Improvement

- #501, #502 Autoimport improvements

# Release 1.2.0

Date: 2022-04-22

## New feature

- #473 Pyproject.toml support (@bageljrkhanofemus)
- #489 Rope now publishes documentations to rope.readthedocs.org (@bageljrkhanofemus)
- #490 Migrate from setup.py to pyproject.toml (@bageljrkhanofemus)

## Improvement

- #479 Add ABC and type hints for TaskHandle and JobSet (@bageljrkhanofemus)
- #486 Drop Python 2 support (@bageljrkhanofemus, @lieryan)
- #487 Improved value inference of __all__ declaration (@lieryan)
- #424 Add some basic __repr__ to make it easier for debugging (@lieryan)