Releases: mdomke/schwifty
Releases · mdomke/schwifty
2024.05.0
Fixed
- Loading JSON data into a Pydantic model with an IBAN or BIC-field (Model.model_validate_json()) was previously broken and has been fixed now.
Added
Changed
- Updated bank registries #197 @Natim
- Remove the dependency to
iso3166
since its functionality is already covered bypycountry
(suggested by @sergei-maertens)
2024.04.0
Added
- Added Revolut Bank for Spain @brunovilla
- Added support for Python 3.12
- Added manually curated bank registry for Montenegro @Djuka
Changed
- The bank registry is now internally validated, so that all domestic bank codes actually match the specification of the corresponding
BBAN
structure. As a result, some entries had to be removed, because they did contain invalid bank codes. - The Danish national checksum algorithm is considered opaque and the checksum digit is assumed to be part of the account number (which is now always 10 digits long).
Fixed
2024.01.1
Added
-
Support aspirational countries:
- Algeria
- Angola
- Benin
- Burkina Faso
- Burundi
- Cabo Verde
- Cameroon
- Central African Republic
- Chad
- Comoros
- Congo
- Côte d'Ivoire
- Djibouti
- Equatorial Guinea
- Gabon,
- Guinea-Bissau
- Honduras
- Iran
- Madagascar
- Mali
- Morocco
- Mozambique
- Nicaragua
- Niger
- Senegal
- Togo
-
National checksum algorithms for many countries have been added:
- Albania
- Bosnia and Herzegovina
- Czech Republic
- East Timor
- Estonia
- Finland
- Iceland
- Mauritania
- Montenegro
- North Macedonia
- Norway
- Poland
- Portugal
- Serbia
- Slovakia
- Slovenia
- Spain
- Tunisia
-
Add new banks to the list of French banks @Natim :
- ARKEA BP Brest
- Anytime
- Lydia Bank
- MEMO BANK
- Revolut
- SHINE
- SumUp Limited
-
New
IBAN.in_sepa_zone
-property to indicate if the IBAN's country is part of the SEPA
zone. -
New manual bank registries for
- Andorra
- Arabic Emirates
- Costa Rica
- Portugal
-
New attributes
IBAN.account_id
,IBAN.account_holder_id
and
IBAN.account_type
that are available depending on the country's BBAN specification.
E.g.IBAN.account_holder_id
is currently only available for Iceland (Kennitala) and only
Brazil defines anIBAN.account_id
.
Changed
- Use enhanced IBAN/BBAN format from Wikipedia,
since the official information from SWIFT is often inaccurate. - The support for national checksum digits has been reimplemented.
- The
IBAN
-class now has an additionalIBAN.bban
-attribute, where all country
specific functionality has been moved to. - Updated bank registries.
2023.11.2
2023.11.1
2023.11.0
Changed
- The validation of a BIC is now performed in the context of ISO 9362:2022 which allows numbers in the business party prefix. If strict SWIFT compliance is required the
enforce_swift_compliance
parameter can be set toTrue
. - The BIC.from_bank_code()-method will now select the most generic BIC (e.g. with no branch specifier or the “XXX” value) if multiple BICs are associated to the given domestic bank code. @Natim
- Many manually curated bank registry entries have been re-added by @dennisxtria
2023.10.0
Added
- The Pydantic v2 protocol is now supported, so that the
IBAN
andBIC
classes can be directly used as type annotations in Pydantic models
Changed
- The
IBAN
andBIC
classes are now subclasses ofstr
so that all string related methods and functionalities (e.g. slicing) are directly available.
2023.09.0
Removed
- Support for Python 3.7 has been dropped.
Added
- New method
BIC.candidates_from_bank_code
to list all matching BICs to a given domestic bank code @Natim
Changed
- The Italian bank registry is now automatically generated thanks to @Krystofee
Internal
2023.06.0
Fixed
- For Ukrainian banks calling
iban.bic
did result in aTypeError
. Thanks, @bernoreitsma, for reporting.
Changed
- Updated generated bank registries for Austria, Belgium, Czech Republic, Germany, Netherlands,
Hungary, Norway, Poland and Ukraine.