csb43
=====
Español
-------
Herramientas para convertir ficheros en formato usado por múltiples
bancos españoles (**norma 43 del Consejo Superior Bancario** [*CSB43*]
/ **Asociación Española de Banca** [*AEB43*]) a otros formatos.
csb2format
~~~~~~~~~~
Conversor de ficheros en **CSB/AEB norma 43** a otros formatos.
Formatos soportados:
- `OFX XML <http://www.ofx.net>`_ v1.0.3 & v2.1.1
- `HomeBank CSV <http://homebank.free.fr/help/06csvformat.html>`_
- *HTML*
- *JSON*
- *ODS*: hoja de cálculo OpenDocument
- *CSV*, *TSV*: valores separados por coma o tabulador
- *XLS*: hoja de cálculo de Microsoft Excel
- *XLSX*: hoja de cálculo OOXML
- *YAML*
Instalación:
^^^^^^^^^^^^
Todos los formatos disponibles:
::
pip install csb43[all]
Formatos internos (ofx, ofx1, homebank) más YAML:
::
pip install csb43[yaml]
Formatos internos (ofx, ofx1, homebank) más formatos del paquete `tablib`:
::
pip install csb43[formats]
Opciones:
^^^^^^^^^
::
usage: csb2format [-h] [-s] [-df] [-d DECIMAL] [-e ENCODING] [--use-float]
[-V]
[-f {csv,dbf,df,homebank,html,json,latex,ods,ofx,ofx1,tsv,xls,xlsx,yaml}]
[-v]
csbFile convertedFile
Convierte un fichero CSB43 a otro formato
optional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exit
csb43 arguments:
csbFile fichero csb43 ('-' para entrada estándar)
-s, --strict modo estricto (por defecto: False)
-df, --dayfirst usa DDMMYY -día, mes, año- como formato de fecha al
interpretar los datos del fichero csb43 en lugar de
YYMMDD -año, mes, día- (por defecto: True)
-d DECIMAL, --decimal DECIMAL
establece el número de dígitos decimales a considerar
en el tipo de divisa (por defecto: 2)
-e ENCODING, --encoding ENCODING
establece la codificación de entrada ('cp850' para
fichero AEB estándar, por defecto: 'latin1')
--use-float exporta cantidades monetarias usando números binarios
en punto flotante como último recurso (default: False)
-V, --verbose mostrar avisos de csb43
output arguments:
convertedFile fichero de destino ('-' para salida estándar)
-f {csv,dbf,df,homebank,html,json,latex,ods,ofx,ofx1,tsv,xls,xlsx,yaml}, --format {csv,dbf,df,homebank,html,json,latex,ods,ofx,ofx1,tsv,xls,xlsx,yaml}
Formato del fichero de salida (por defecto: ofx)
Ejemplos
^^^^^^^^
- Convertir a formato OFX:
::
$ csb2format transactions.csb transactions.ofx
$ csb2format --format ofx transactions.csb transactions.ofx
o bien
::
$ csb2format transactions.csb - > transactions.ofx
Desde una aplicación de recuperación de datos a otro fichero
::
$ get_my_CSB_transactions | csb2format - transactions.ofx
- Convertir a hoja de cálculo XLSX (Excel):
::
$ csb2format --format xlsx transactions.csb transactions.xlsx
- Usando cp850 como codificación de entrada:
::
$ csb2format --encoding cp850 --format xlsx transactions.csb transactions.xlsx
Hojas de cálculo
^^^^^^^^^^^^^^^^
Los ficheros en *ODS*, *XLS* y *XLSX* se generan a modo de libro, conteniendo
la primera hoja la información relativa a las cuentas, y las hojas
siguientes conteniendo cada una los movimientos de cada cuenta.
En Python
~~~~~~~~~
Lee un archivo *CSB43* e imprime el contenido equivalente en *OFX*
::
:::python
# OFX
from csb43.ofx import converter as ofx_converter
from csb43.csb43 import File
csbFile = File(open("movimientos.csb", "rb"), strict=False)
# imprime a stdout
print(ofx_converter.convertFromCsb(csbFile))
Lee un archivo *CSB* e imprime el contenido equivalente a *CSV* de
*Homebank*
::
:::python
# Homebank
from csb43.homebank import converter as hbk_converter
from csb43.csb43 import File
csbFile = File(open("movimientos.csb", "rb"), strict=False)
# imprime a stdout
for line in hbk_converter.convertFromCsb(csbFile):
print(line)
Lee un archivo *CSB* e imprime el equivalente en un archivo de formato
tabular o de diccionario
::
:::python
from csb43 import csb43, formats
csbFile = csb43.File(open("movimientos.csb", "rb"), strict=False)
# imprime formato 'yaml' a stdout
o = formats.convertFromCsb(csbFile, 'yaml')
print(o.yaml)
# escribe a archivo en formato 'xlsx'
o = formats.convertFromCsb(csbFile, 'xlsx')
with open("movimientos.xlsx", "wb") as f:
f.write(o.xlsx)
--------------
English
-------
Tools for converting from the Spanish banks' format **CSB norm 43**
(*CSB43*).
csb2format
~~~~~~~~~~
Convert a **CSB/AEB norm 43** file to other file formats.
Supported formats:
- OFX v1.0.3 (SGML) & v2.1.1 (XML)
- `HomeBank CSV <http://homebank.free.fr/help/06csvformat.html>`_
- *HTML*
- *JSON*
- *ODS*: OpenDocument spreadsheet
- *CSV*, *TSV*: comma- or tab- separated values
- *XLS*: Microsoft Excel spreadsheet
- *XLSX*: OOXML spreadsheet
- *YAML*
Installing:
^^^^^^^^^^^^
All the available formats:
::
pip install csb43[all]
Built-in formats (ofx, ofx1, homebank) plus YAML:
::
pip install csb43[yaml]
Built-in formats (ofx, ofx1, homebank) plus formats provided by the package
`tablib`:
::
pip install csb43[formats]
If you don't need all the formats supported by tablib, you can use;
::
pip install csb43[basic_formats]
Options:
^^^^^^^^
::
usage: csb2format [-h] [-s] [-df] [-d DECIMAL] [-e ENCODING] [--use-float]
[-V]
[-f {csv,dbf,df,homebank,html,json,latex,ods,ofx,ofx1,tsv,xls,xlsx,yaml}]
[-v]
csbFile convertedFile
Convert a CSB43 file to another format
optional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exit
csb43 arguments:
csbFile a csb43 file ('-' for stdin)
-s, --strict strict mode (default: False)
-df, --dayfirst use DDMMYY as date format while parsing the csb43 file
instead of YYMMDD (default: True)
-d DECIMAL, --decimal DECIMAL
set the number of decimal places for the currency type
(default: 2)
-e ENCODING, --encoding ENCODING
set the input encoding ('cp850' for standard AEB file,
default: 'latin1')
--use-float export monetary amounts using binary floating point
numbers as a fallback (default: False)
-V, --verbose show csb43 warnings
output arguments:
convertedFile destination file ('-' for stdout)
-f {csv,dbf,df,homebank,html,json,latex,ods,ofx,ofx1,tsv,xls,xlsx,yaml}, --format {csv,dbf,df,homebank,html,json,latex,ods,ofx,ofx1,tsv,xls,xlsx,yaml}
Format of the output file (default: ofx)
Examples
^^^^^^^^
- Converting to OFX format:
::
$ csb2format transactions.csb transactions.ofx
$ csb2format --format ofx transactions.csb transactions.ofx
or
::
$ csb2format transactions.csb - > transactions.ofx
From another app to file
::
$ get_my_CSB_transactions | csb2format - transactions.ofx
- Converting to XLSX spreadsheet format:
::
$ csb2format --format xlsx transactions.csb transactions.xlsx
- Using cp850 as the input encoding:
::
$ csb2format --encoding cp850 --format xlsx transactions.csb transactions.xlsx
Spreadsheets
^^^^^^^^^^^^
*ODS*, *XLS* and *XLSX* files are generated as books, with the first sheet
containing the accounts information, and the subsequent sheets
containing the transactions of each one of the accounts.
Using Python
~~~~~~~~~~~~
Parse a *CSB43* file and print the equivalent *OFX* file
::
:::python
# OFX
from csb43.ofx import converter as ofx_converter
from csb43.csb43 import File
csbFile = File(open("movimientos.csb", "rb"), strict=False)
# print to stdout
print(ofx_converter.convertFromCsb(csbFile))
Parse a *CSB43* file and print the equivalent *HomeBank CSV* file
::
:::python
# Homebank
from csb43.homebank import converter as hbk_converter
from csb43.csb43 import File
csbFile = File(open("movimientos.csb", "rb"), strict=False)
# print to stdout
for line in hbk_converter.convertFromCsb(csbFile):
print(line)
Parse a *CSB43* file and print the equivalent in a tabular or
dictionary-like file format
::
:::python
from csb43 import csb43, formats
csbFile = csb43.File(open("movimientos.csb", "rb"), strict=False)
# print 'yaml' format to stdout
o = formats.convertFromCsb(csbFile, 'yaml')
print(o.yaml)
# write 'xlsx' format to file
o = formats.convertFromCsb(csbFile, 'xlsx')
with open("movimientos.xlsx", "wb") as f:
f.write(o.xlsx)
Instalación
-----------
Usando *pip*
::
$ pip install csb43
Installing
-----------
Using *pip*
::
$ pip install csb43
Changelog
-----------
0.9.3
~~~~~
- Add support for Python 3.12 (thanks to Cédric Krier)
0.9.2
~~~~~
- Fixed setuptool's deprecation warning on python==3.10 (thanks to @mb)
- Fixed duplicated documentation of the same objects by sphinx (thanks to @mb)
0.9.1
~~~~~
- Added python_requires >= 3.6 (thanks to Cédric Krier)
0.9.0
~~~~~
- Dropped support for Python 2 (thanks to Sergi Almacellas)
- Added support for Python 3.8 and 3.9 (thanks to Sergi Almacellas)
- Added compatibility with tablib >= 1.0.0 (thanks to Sergi Almacellas)
- Type hinting
0.8.4
~~~~~
- Fixed tablib requirement (< 1.0.0)
- Fixed parsing of records with code 00 (thanks to Uttam Sharma)
0.8.2
~~~~~
- Do not fail with C locale (thanks to Cédric Krier)
0.8.1
~~~~~
- Fixed decimal values conversion in JSON and tabular formats (thanks to Harshad Modi).
- Fixed OFX validation (ORIGCURRENCY field).
- An error is raised when the currency code is not found.
0.8
~~~
- Text values are stored as string instead of bytes (thanks to Sergi Almacellas)
- Warnings are raised using the 'warnings' module.
- An encoding where control characters are different from ascii is not allowed. An exception will be raised.
- csb2format: added encoding as a new parameter.
0.7
~~~
- Defined installation targets: `yaml` and `formats` (thanks to Sergi Almacellas & Cédric Krier).
- Updated README file (thanks to Sergi Almacellas).
- Removed `simplejson` dependency.
- Dates stored as `date` instead of `datetime` (thanks to Sergi Almacellas).
- Monetary amounts are represented as `Decimal` instead to `float` in order to prevent representation and rounding issues. These fields are exported as a string by default, conversion to float is optional (thanks to Sergi Almacellas & Cédric Krier).
- Added temprary dependency to `openpyxl < 2.5.0` to prevent issue while trying to export to xlsx.
0.6
~~~~
- Fixed usage of pycountry >= 16.10.23rc1 objects (thanks to Alex Barcelo).
- Package refactored to simplify the structure.
0.5
~~~~
- Fixed conversion to binary formats in python 2.
- `tablib` backend supported in python 3.
- N43 warnings are silenced by default.
0.4
~~~~
- OFX v 1.0.3 supported.
- OFX Tag inv401source renamed to inv401ksource.
- Unique transaction id when generating OFX file (thanks to Julien Moutte).
0.3.4
~~~~~
- Most Spanish N43 files will use LATIN-1 encoding not pure ASCII (thanks to Julien Moutte).
- Regular expression to check for account name is too limited (thanks to Julien Moutte).
- Reference1 can hold non numerical data in information mode 1 and 2 (thanks to Julien Moutte).
- Currency data as an inmutable list.
0.3.3
~~~~~
- Fixed deficiencies in OFX conversion (thanks to Andrea Santambrogio). Checked XML validation against OFX2_Protocol.xsd
0.3
~~~~
- Compatible with Python 3 (except "tablib" dependencies)
0.2.3
~~~~~~
- Fixed shebang header of csb2format
0.2.2
~~~~~~
- csb2format adapted to pyinstaller
- Executable file for Windows
0.2.1
~~~~~
- Trivial changes
0.2
~~~~
- Several bugfixes
- Bidirectional use of objects (file -> object, object -> file)
- Added conversion to spreadsheets, dict and tabular formats (thanks to tablib)
- Localization to Spanish
- Sphinx documentation
0.1
~~~
- Initial release
Raw data
{
"_id": null,
"home_page": "https://bitbucket.org/wmj/csb43",
"name": "csb43",
"maintainer": "",
"docs_url": "https://pythonhosted.org/csb43/",
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "csb csb43 aeb aeb43 homebank ofx Spanish bank ods tsv xls xlsx excel yaml json html",
"author": "wmj",
"author_email": "wmj.py@gmx.com",
"download_url": "https://files.pythonhosted.org/packages/46/85/0574880e25c12288a5af220d46487bcb99197d5a040e09d5ec0191d8713b/csb43-0.9.3.tar.gz",
"platform": null,
"description": "csb43\n=====\n\n\nEspa\u00f1ol\n-------\n\nHerramientas para convertir ficheros en formato usado por m\u00faltiples\nbancos espa\u00f1oles (**norma 43 del Consejo Superior Bancario** [*CSB43*]\n/ **Asociaci\u00f3n Espa\u00f1ola de Banca** [*AEB43*]) a otros formatos.\n\n\ncsb2format\n~~~~~~~~~~\n\nConversor de ficheros en **CSB/AEB norma 43** a otros formatos.\n\nFormatos soportados:\n\n- `OFX XML <http://www.ofx.net>`_ v1.0.3 & v2.1.1\n- `HomeBank CSV <http://homebank.free.fr/help/06csvformat.html>`_\n- *HTML*\n- *JSON*\n- *ODS*: hoja de c\u00e1lculo OpenDocument\n- *CSV*, *TSV*: valores separados por coma o tabulador\n- *XLS*: hoja de c\u00e1lculo de Microsoft Excel\n- *XLSX*: hoja de c\u00e1lculo OOXML\n- *YAML*\n\n\nInstalaci\u00f3n:\n^^^^^^^^^^^^\n\nTodos los formatos disponibles:\n\n::\n\n pip install csb43[all]\n\n\nFormatos internos (ofx, ofx1, homebank) m\u00e1s YAML:\n\n::\n\n pip install csb43[yaml]\n\n\nFormatos internos (ofx, ofx1, homebank) m\u00e1s formatos del paquete `tablib`:\n\n::\n\n pip install csb43[formats]\n\n\nOpciones:\n^^^^^^^^^\n\n\n::\n\n usage: csb2format [-h] [-s] [-df] [-d DECIMAL] [-e ENCODING] [--use-float]\n [-V]\n [-f {csv,dbf,df,homebank,html,json,latex,ods,ofx,ofx1,tsv,xls,xlsx,yaml}]\n [-v]\n csbFile convertedFile\n\n Convierte un fichero CSB43 a otro formato\n\n optional arguments:\n -h, --help show this help message and exit\n -v, --version show program's version number and exit\n\n csb43 arguments:\n csbFile fichero csb43 ('-' para entrada est\u00e1ndar)\n -s, --strict modo estricto (por defecto: False)\n -df, --dayfirst usa DDMMYY -d\u00eda, mes, a\u00f1o- como formato de fecha al\n interpretar los datos del fichero csb43 en lugar de\n YYMMDD -a\u00f1o, mes, d\u00eda- (por defecto: True)\n -d DECIMAL, --decimal DECIMAL\n establece el n\u00famero de d\u00edgitos decimales a considerar\n en el tipo de divisa (por defecto: 2)\n -e ENCODING, --encoding ENCODING\n establece la codificaci\u00f3n de entrada ('cp850' para\n fichero AEB est\u00e1ndar, por defecto: 'latin1')\n --use-float exporta cantidades monetarias usando n\u00fameros binarios\n en punto flotante como \u00faltimo recurso (default: False)\n -V, --verbose mostrar avisos de csb43\n\n output arguments:\n convertedFile fichero de destino ('-' para salida est\u00e1ndar)\n -f {csv,dbf,df,homebank,html,json,latex,ods,ofx,ofx1,tsv,xls,xlsx,yaml}, --format {csv,dbf,df,homebank,html,json,latex,ods,ofx,ofx1,tsv,xls,xlsx,yaml}\n Formato del fichero de salida (por defecto: ofx)\n\n\n\n\n\nEjemplos\n^^^^^^^^\n\n- Convertir a formato OFX:\n\n ::\n\n $ csb2format transactions.csb transactions.ofx\n\n $ csb2format --format ofx transactions.csb transactions.ofx\n\n o bien\n\n ::\n\n $ csb2format transactions.csb - > transactions.ofx\n\n Desde una aplicaci\u00f3n de recuperaci\u00f3n de datos a otro fichero\n\n ::\n\n $ get_my_CSB_transactions | csb2format - transactions.ofx\n\n- Convertir a hoja de c\u00e1lculo XLSX (Excel):\n\n ::\n\n $ csb2format --format xlsx transactions.csb transactions.xlsx\n\n- Usando cp850 como codificaci\u00f3n de entrada:\n\n ::\n\n $ csb2format --encoding cp850 --format xlsx transactions.csb transactions.xlsx\n\n\nHojas de c\u00e1lculo\n^^^^^^^^^^^^^^^^\n\n\nLos ficheros en *ODS*, *XLS* y *XLSX* se generan a modo de libro, conteniendo\nla primera hoja la informaci\u00f3n relativa a las cuentas, y las hojas\nsiguientes conteniendo cada una los movimientos de cada cuenta.\n\n\n\nEn Python\n~~~~~~~~~\n\n\nLee un archivo *CSB43* e imprime el contenido equivalente en *OFX*\n\n::\n\n :::python\n\n # OFX\n from csb43.ofx import converter as ofx_converter\n from csb43.csb43 import File\n\n csbFile = File(open(\"movimientos.csb\", \"rb\"), strict=False)\n\n # imprime a stdout\n print(ofx_converter.convertFromCsb(csbFile))\n\nLee un archivo *CSB* e imprime el contenido equivalente a *CSV* de\n*Homebank*\n\n::\n\n :::python\n\n # Homebank\n from csb43.homebank import converter as hbk_converter\n from csb43.csb43 import File\n\n csbFile = File(open(\"movimientos.csb\", \"rb\"), strict=False)\n\n # imprime a stdout\n for line in hbk_converter.convertFromCsb(csbFile):\n print(line)\n\nLee un archivo *CSB* e imprime el equivalente en un archivo de formato\ntabular o de diccionario\n\n::\n\n :::python\n\n from csb43 import csb43, formats\n\n csbFile = csb43.File(open(\"movimientos.csb\", \"rb\"), strict=False)\n\n # imprime formato 'yaml' a stdout\n o = formats.convertFromCsb(csbFile, 'yaml')\n print(o.yaml)\n\n # escribe a archivo en formato 'xlsx'\n o = formats.convertFromCsb(csbFile, 'xlsx')\n with open(\"movimientos.xlsx\", \"wb\") as f:\n f.write(o.xlsx)\n\n\n--------------\n\n\n\nEnglish\n-------\n\nTools for converting from the Spanish banks' format **CSB norm 43**\n(*CSB43*).\n\n\ncsb2format\n~~~~~~~~~~\n\nConvert a **CSB/AEB norm 43** file to other file formats.\n\nSupported formats:\n\n- OFX v1.0.3 (SGML) & v2.1.1 (XML)\n- `HomeBank CSV <http://homebank.free.fr/help/06csvformat.html>`_\n- *HTML*\n- *JSON*\n- *ODS*: OpenDocument spreadsheet\n- *CSV*, *TSV*: comma- or tab- separated values\n- *XLS*: Microsoft Excel spreadsheet\n- *XLSX*: OOXML spreadsheet\n- *YAML*\n\n\nInstalling:\n^^^^^^^^^^^^\n\nAll the available formats:\n\n::\n\n pip install csb43[all]\n\nBuilt-in formats (ofx, ofx1, homebank) plus YAML:\n\n::\n\n pip install csb43[yaml]\n\nBuilt-in formats (ofx, ofx1, homebank) plus formats provided by the package\n`tablib`:\n\n::\n\n pip install csb43[formats]\n\nIf you don't need all the formats supported by tablib, you can use;\n\n::\n\n pip install csb43[basic_formats]\n\n\nOptions:\n^^^^^^^^\n\n::\n\n usage: csb2format [-h] [-s] [-df] [-d DECIMAL] [-e ENCODING] [--use-float]\n [-V]\n [-f {csv,dbf,df,homebank,html,json,latex,ods,ofx,ofx1,tsv,xls,xlsx,yaml}]\n [-v]\n csbFile convertedFile\n\n Convert a CSB43 file to another format\n\n optional arguments:\n -h, --help show this help message and exit\n -v, --version show program's version number and exit\n\n csb43 arguments:\n csbFile a csb43 file ('-' for stdin)\n -s, --strict strict mode (default: False)\n -df, --dayfirst use DDMMYY as date format while parsing the csb43 file\n instead of YYMMDD (default: True)\n -d DECIMAL, --decimal DECIMAL\n set the number of decimal places for the currency type\n (default: 2)\n -e ENCODING, --encoding ENCODING\n set the input encoding ('cp850' for standard AEB file,\n default: 'latin1')\n --use-float export monetary amounts using binary floating point\n numbers as a fallback (default: False)\n -V, --verbose show csb43 warnings\n\n output arguments:\n convertedFile destination file ('-' for stdout)\n -f {csv,dbf,df,homebank,html,json,latex,ods,ofx,ofx1,tsv,xls,xlsx,yaml}, --format {csv,dbf,df,homebank,html,json,latex,ods,ofx,ofx1,tsv,xls,xlsx,yaml}\n Format of the output file (default: ofx)\n\n\n\n\n\nExamples\n^^^^^^^^\n\n- Converting to OFX format:\n\n ::\n\n $ csb2format transactions.csb transactions.ofx\n\n $ csb2format --format ofx transactions.csb transactions.ofx\n\n or\n\n ::\n\n $ csb2format transactions.csb - > transactions.ofx\n\n From another app to file\n\n ::\n\n $ get_my_CSB_transactions | csb2format - transactions.ofx\n\n- Converting to XLSX spreadsheet format:\n\n ::\n\n $ csb2format --format xlsx transactions.csb transactions.xlsx\n\n- Using cp850 as the input encoding:\n\n ::\n\n $ csb2format --encoding cp850 --format xlsx transactions.csb transactions.xlsx\n\n\nSpreadsheets\n^^^^^^^^^^^^\n\n\n*ODS*, *XLS* and *XLSX* files are generated as books, with the first sheet\ncontaining the accounts information, and the subsequent sheets\ncontaining the transactions of each one of the accounts.\n\n\nUsing Python\n~~~~~~~~~~~~\n\n\nParse a *CSB43* file and print the equivalent *OFX* file\n\n::\n\n :::python\n\n # OFX\n from csb43.ofx import converter as ofx_converter\n from csb43.csb43 import File\n\n csbFile = File(open(\"movimientos.csb\", \"rb\"), strict=False)\n\n # print to stdout\n print(ofx_converter.convertFromCsb(csbFile))\n\nParse a *CSB43* file and print the equivalent *HomeBank CSV* file\n\n::\n\n :::python\n # Homebank\n from csb43.homebank import converter as hbk_converter\n from csb43.csb43 import File\n\n csbFile = File(open(\"movimientos.csb\", \"rb\"), strict=False)\n\n # print to stdout\n for line in hbk_converter.convertFromCsb(csbFile):\n print(line)\n\nParse a *CSB43* file and print the equivalent in a tabular or\ndictionary-like file format\n\n::\n\n :::python\n\n from csb43 import csb43, formats\n\n csbFile = csb43.File(open(\"movimientos.csb\", \"rb\"), strict=False)\n\n # print 'yaml' format to stdout\n o = formats.convertFromCsb(csbFile, 'yaml')\n print(o.yaml)\n\n # write 'xlsx' format to file\n o = formats.convertFromCsb(csbFile, 'xlsx')\n with open(\"movimientos.xlsx\", \"wb\") as f:\n f.write(o.xlsx)\n\n\n\nInstalaci\u00f3n\n-----------\n\nUsando *pip*\n\n::\n\n $ pip install csb43\n\n\nInstalling\n-----------\n\nUsing *pip*\n\n::\n\n $ pip install csb43\n\n\n\n\n\nChangelog\n-----------\n\n0.9.3\n~~~~~\n\n- Add support for Python 3.12 (thanks to C\u00e9dric Krier)\n\n\n0.9.2\n~~~~~\n\n- Fixed setuptool's deprecation warning on python==3.10 (thanks to @mb)\n- Fixed duplicated documentation of the same objects by sphinx (thanks to @mb)\n\n\n0.9.1\n~~~~~\n\n- Added python_requires >= 3.6 (thanks to C\u00e9dric Krier)\n\n0.9.0\n~~~~~\n\n- Dropped support for Python 2 (thanks to Sergi Almacellas)\n- Added support for Python 3.8 and 3.9 (thanks to Sergi Almacellas)\n- Added compatibility with tablib >= 1.0.0 (thanks to Sergi Almacellas)\n- Type hinting\n\n0.8.4\n~~~~~\n\n- Fixed tablib requirement (< 1.0.0)\n- Fixed parsing of records with code 00 (thanks to Uttam Sharma)\n\n\n0.8.2\n~~~~~\n\n- Do not fail with C locale (thanks to C\u00e9dric Krier)\n\n0.8.1\n~~~~~\n\n- Fixed decimal values conversion in JSON and tabular formats (thanks to Harshad Modi).\n- Fixed OFX validation (ORIGCURRENCY field).\n- An error is raised when the currency code is not found.\n\n\n0.8\n~~~\n\n- Text values are stored as string instead of bytes (thanks to Sergi Almacellas)\n- Warnings are raised using the 'warnings' module.\n- An encoding where control characters are different from ascii is not allowed. An exception will be raised.\n- csb2format: added encoding as a new parameter.\n\n0.7\n~~~\n\n- Defined installation targets: `yaml` and `formats` (thanks to Sergi Almacellas & C\u00e9dric Krier).\n- Updated README file (thanks to Sergi Almacellas).\n- Removed `simplejson` dependency.\n- Dates stored as `date` instead of `datetime` (thanks to Sergi Almacellas).\n- Monetary amounts are represented as `Decimal` instead to `float` in order to prevent representation and rounding issues. These fields are exported as a string by default, conversion to float is optional (thanks to Sergi Almacellas & C\u00e9dric Krier).\n- Added temprary dependency to `openpyxl < 2.5.0` to prevent issue while trying to export to xlsx.\n\n0.6\n~~~~\n\n- Fixed usage of pycountry >= 16.10.23rc1 objects (thanks to Alex Barcelo).\n- Package refactored to simplify the structure.\n\n0.5\n~~~~\n\n- Fixed conversion to binary formats in python 2.\n- `tablib` backend supported in python 3.\n- N43 warnings are silenced by default.\n\n0.4\n~~~~\n\n- OFX v 1.0.3 supported.\n- OFX Tag inv401source renamed to inv401ksource.\n- Unique transaction id when generating OFX file (thanks to Julien Moutte).\n\n0.3.4\n~~~~~\n\n- Most Spanish N43 files will use LATIN-1 encoding not pure ASCII (thanks to Julien Moutte).\n- Regular expression to check for account name is too limited (thanks to Julien Moutte).\n- Reference1 can hold non numerical data in information mode 1 and 2 (thanks to Julien Moutte).\n- Currency data as an inmutable list.\n\n0.3.3\n~~~~~\n\n- Fixed deficiencies in OFX conversion (thanks to Andrea Santambrogio). Checked XML validation against OFX2_Protocol.xsd\n\n0.3\n~~~~\n\n- Compatible with Python 3 (except \"tablib\" dependencies)\n\n0.2.3\n~~~~~~\n\n- Fixed shebang header of csb2format\n\n\n0.2.2\n~~~~~~\n\n- csb2format adapted to pyinstaller\n- Executable file for Windows\n\n0.2.1\n~~~~~\n\n- Trivial changes\n\n0.2\n~~~~\n\n- Several bugfixes\n- Bidirectional use of objects (file -> object, object -> file)\n- Added conversion to spreadsheets, dict and tabular formats (thanks to tablib)\n- Localization to Spanish\n- Sphinx documentation\n\n0.1\n~~~\n\n- Initial release\n\n\n",
"bugtrack_url": null,
"license": "LGPL",
"summary": "Spanish banks' CSB norm 43 converter to OFX, Homebank, json, yaml, xls, xlsx, ods, csv, tsv",
"version": "0.9.3",
"project_urls": {
"Bug Reports": "https://bitbucket.org/wmj/csb43/issues",
"Homepage": "https://bitbucket.org/wmj/csb43",
"Source": "https://bitbucket.org/wmj/csb43"
},
"split_keywords": [
"csb",
"csb43",
"aeb",
"aeb43",
"homebank",
"ofx",
"spanish",
"bank",
"ods",
"tsv",
"xls",
"xlsx",
"excel",
"yaml",
"json",
"html"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b2d94df890e9254e98ed9ebc35bce0e8f185227450054b1d750ab7b1d2ca819d",
"md5": "99b57f9bd1c05dae1adca5863fa42736",
"sha256": "8c47f18169ef1e0a75a99500f17855ffa8b0bd75411f15b44a02c4b339e7aa86"
},
"downloads": -1,
"filename": "csb43-0.9.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "99b57f9bd1c05dae1adca5863fa42736",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 75782,
"upload_time": "2024-01-12T15:42:21",
"upload_time_iso_8601": "2024-01-12T15:42:21.903714Z",
"url": "https://files.pythonhosted.org/packages/b2/d9/4df890e9254e98ed9ebc35bce0e8f185227450054b1d750ab7b1d2ca819d/csb43-0.9.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "46850574880e25c12288a5af220d46487bcb99197d5a040e09d5ec0191d8713b",
"md5": "ed6b9b9e9224918e521705eb3ce62418",
"sha256": "c88fbe62e4f8ff0da5b6b6a3fd64eb6d7e1b569868e93b25a5472311ac3bb127"
},
"downloads": -1,
"filename": "csb43-0.9.3.tar.gz",
"has_sig": false,
"md5_digest": "ed6b9b9e9224918e521705eb3ce62418",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 649342,
"upload_time": "2024-01-12T15:42:24",
"upload_time_iso_8601": "2024-01-12T15:42:24.173083Z",
"url": "https://files.pythonhosted.org/packages/46/85/0574880e25c12288a5af220d46487bcb99197d5a040e09d5ec0191d8713b/csb43-0.9.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-12 15:42:24",
"github": false,
"gitlab": false,
"bitbucket": true,
"codeberg": false,
"bitbucket_user": "wmj",
"bitbucket_project": "csb43",
"lcname": "csb43"
}