Package to Module Conversion

Ouverte
#791 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 7 jours

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
18/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
python
Domaine
tooling

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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?

Langage dominant
Python
Étoiles
2.2k
Forks
197
Merge moyen
2 j 13 h
PR mergées (30 j)
5

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de python-rope/rope

Toutes les issues de python-rope/rope

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.