python / python/cpython

Composability of `difflib`

Offen
#145,209 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

stdlib type-feature
Vorherrschende Sprache
Python
Sterne
77.2k
Forks
35.9k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

Feature or enhancement

Proposal:

I closed https://github.com/python/cpython/issues/144132 in favour to more gradual divide and conquer approach.

And this is the first part, which I think is the most valuable one.
It enables user to implement his own Matcher and Differ types to do all the nice things that difflib enables.

Given the current state of affairs, I don't think there were many ways to do it.
And in terms of nature of arguments provided to different functions, I only saw one.

Very much open to any suggestions / concerns.

Has this already been discussed elsewhere?

I have already discussed this feature proposal on Discourse

Links to previous discussion of this feature:

https://discuss.python.org/t/algorithmic-complexity-of-difflib/105844/98

Linked PRs
  • gh-145210

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Prüfung des verknüpften PR gh-145210 und der in der Issue referenzierten Discourse-Diskussion. Untersuche anschließend die Implementierung und die öffentliche API von Python's difflib. Die Arbeit ist abgeschlossen, wenn der vorgeschlagene Ansatz für Komponierbarkeit ein festgelegtes Design hat und der verknüpfte Beitrag oder die daraus resultierenden Änderungen den Vorschlag abdecken.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
tooling
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

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