csb43


Namecsb43 JSON
Version 0.9.3 PyPI version JSON
download
home_pagehttps://bitbucket.org/wmj/csb43
SummarySpanish banks' CSB norm 43 converter to OFX, Homebank, json, yaml, xls, xlsx, ods, csv, tsv
upload_time2024-01-12 15:42:24
maintainer
docs_urlhttps://pythonhosted.org/csb43/
authorwmj
requires_python>=3.6
licenseLGPL
keywords csb csb43 aeb aeb43 homebank ofx spanish bank ods tsv xls xlsx excel yaml json html
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            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"
}
        
wmj
Elapsed time: 0.16697s