Package to Module Conversion

Offen
#791 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 7 Tagen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
18/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
python
Bereich
tooling

Rechercherichtung

The request is a package-to-module refactoring, the inverse of the existing topackage refactoring that the issue mentions; use that as the reference for how rope rewrites imports across a project. The issue leaves open how to merge __init__.py, bar.py and barbar.py into one file and how to rewrite from foo.bar import X references, so the design has to be settled before any code. Done would mean a tested refactoring that turns a package into a module and rewrites the imports, agreed with the maintainers first.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

I have multiple packages with containing very small modules (e.g. 10 lines of code).
I would like to turn a package into a module:

foo/
  __init__.py
 bar.py
 barbar.py

becomes: foo.py containing all code of foo/{__init__.py,bar.py, barbar.py} without relatives import. All other imports of a project needs to be rewritten, from foo.bar import X becomes from foo import X.

I see there is a topackage, so it would be kind of the inverse, I guess?

Vorherrschende Sprache
Python
Sterne
2.2k
Forks
197
Ø Merge
2 T. 13 Std.
Gemergte PRs (30 T.)
5

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus python-rope/rope

Alle Issues in python-rope/rope

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.