{ "info": { "author": "Igor Stroh", "author_email": "igor.stroh@rulim.de", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Code Generators" ], "description": "LstGen\n======\n\nMittels LstGen kann man aus den sgn. PAP (Programmablaufplan) Dateien,\ndie unter https://www.bmf-steuerrechner.de zur Verf\u00fcgung stehen, validen\nCode generieren, mit dem man ohne weitere Abh\u00e4ngigkeiten (wie z.B. einem\nexternen Service) die Lohnsteuer berechnen kann.\n\nZur Zeit werden vier Sprachen unterst\u00fctzt: \\* PHP \\* Python \\* Java \\*\nJavascript\n\nInstallation\n------------\n\n- Mit ``pip`` oder ``easy_install`` aus PyPI:\n\n .. code:: bash\n\n pip install lstgen\n\n oder\n\n .. code:: bash\n\n easy_install lstgen\n\n Danach ist das Program ``lstgen`` (f\u00fcr gew\u00f6hnlich) unter\n ``/usr/local/bin/lstgen`` verf\u00fcgbar.\n\nBeispiel 1: Erzeugen einer PHP-Datei zur Berechnung der Lohnsteuer f\u00fcr das Jahr 2016\n------------------------------------------------------------------------------------\n\n.. code:: bash\n\n lstgen -p 2016 -l php --class-name Lohnsteuer2016 --outfile Lohnsteuer2016.php\n\nDer generierte Code ben\u00f6tigt f\u00fcr die Berechnung die\n`Brick:raw-latex:`\\Math `Bibliothek `__\nund geht davon aus, dass sie mittels\n`Composer `__ installiert wurde.\n\nDanach kann die generierte Klasse einfach importiert und folgendermassen\nin eigenem Code verwendet werden:\n\n.. code:: php\n\n setRe4($brutto);\n $lst->setPkv(1);\n $lst->setAlter1(0);\n $lst->setAf(0);\n $lst->setF(1);\n $lst->setPvs(0);\n $lst->setR(0);\n $lst->setLzzhinzu(0);\n $lst->setPvz(0);\n $lst->setStkl(1);\n $lst->setLzz(2);\n $lst->setKrv(2);\n $lst->main();\n $steuer = floor($lst->getLstlzz()->toFloat() + $lst->getStv()->toFloat() + $lst->getSts()->toFloat());\n $soli = floor($lst->getSolzlzz()->toFloat() + $lst->getSolzs()->toFloat() + $lst->getSolzv()->toFloat()) / 100;\n $stges = $steuer + $soli;\n echo \"steuer: $steuer\\nsoli: $soli\\nstges: $stges\\n\";\n\nOberes Beispiel zeigt die Berechnung der Lohnsteuer und\nSolidarit\u00e4tszuschlags f\u00fcr einen Arbeitnehmer mit Steuerklasse 1,\nmonatlichem Brutto von 5000\u20ac, privat versichert und ohne\nArbeitgeberzuschuss f\u00fcr PKV.\n\nEine detaillierte Erkl\u00e4rung zu den jeweiligen Eingabeparametern findet\nman entweder im generierten Code in Form von Kommentaren oder in der PDF\nVersion des PAP unter\nhttps://www.bmf-steuerrechner.de/interface/programmablauf.xhtml\n\nBeispiel 2: Erzeugen einer Python-Datei zur Berechnung der Lohnsteuer f\u00fcr das Jahr 2014 (gleiche Voraussetzungen wie im PHP Beispiel)\n-------------------------------------------------------------------------------------------------------------------------------------\n\n.. code:: bash\n\n lstgen -p 2014 -l python --class-name Lohnsteuer2014 --outfile lst2014.py\n\nDer generierte Code kann dann so verwendet werden:\n\n.. code:: python\n\n import math\n from lst2014 import Lohnsteuer2014\n\n def print_lst(lst):\n steuer = math.floor(float(lst.getLstlzz()) + float(lst.getStv()) + float(lst.getSts())) / 100.0\n soli = math.floor(float(lst.getSolzlzz()) + float(lst.getSolzs()) + float(lst.getSolzv())) / 100\n stges = steuer + soli\n print(\"steuer: {steuer}\\nsoli: {soli}\\nstges: {stges}\".format(\n steuer=steuer,\n soli=soli,\n stges=stges\n ))\n\n brutto = 500000 # Brutto in \u00a2ent\n # Setzen der Parameter mit Settern\n lst2014 = Lohnsteuer2014()\n lst2014.setRe4(brutto) # cent\n lst2014.setPkv(1)\n lst2014.setAlter1(0)\n lst2014.setAf(0)\n lst2014.setF(1)\n lst2014.setPvs(0)\n lst2014.setR(0)\n lst2014.setLzzhinzu(0)\n lst2014.setPvz(0)\n lst2014.setStkl(1)\n lst2014.setLzz(2)\n lst2014.setKrv(2)\n lst2014.MAIN()\n print_lst(lst2014)\n\n # Setzen der Parameter mittels Konstruktor-Argumente\n lst2014 = Lohnsteuer2014(\n RE4=brutto,\n PKV=1,\n ALTER1=0,\n af=0,\n f=1,\n PVS=0,\n R=0,\n LZZHINZU=0,\n PVZ=0,\n STKL=1,\n LZZ=2,\n KRV=2\n )\n print_lst(lst2014)\n\n0.4.1\n=====\n\n- Fixed CLI examples in README\n\n0.4.0\n=====\n\n- Added PAP for 2018 and 2019\n- Fixed BMF URIs\n- Added \"version\" cli option\n\n0.3.2\n=====\n\n- Make pypi happy\n\n0.3.1\n=====\n\n- Added support for 2017 PAP\n- Fixed unary operator conversion\n- Replaced Decimal.\\_rescale with Decimal.quantize to remain python3\n compliant\n\n0.3.0\n=====\n\n- Added JS support\n- Refactored generators for java-like languages\n- Cleaned up a bit to satisfy pylint\n\n0.2.0\n=====\n\n- Refactored writers to generators\n- Added basic tests\n- Added BigDecimal PHP proxy class\n\n0.1.1\n=====\n\n- Fixed packaging issues for README.md and CHANGES.md\n\n0.1.0\n=====\n\n- Initial version\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/jenner/LstGen", "keywords": "lohnsteuer code generator cli", "license": "", "maintainer": "", "maintainer_email": "", "name": "LstGen", "package_url": "https://pypi.org/project/LstGen/", "platform": "", "project_url": "https://pypi.org/project/LstGen/", "project_urls": { "Homepage": "http://github.com/jenner/LstGen" }, "release_url": "https://pypi.org/project/LstGen/0.4.1/", "requires_dist": null, "requires_python": "", "summary": "LstGen", "version": "0.4.1" }, "last_serial": 4893781, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "07366a6eea301cf36e25d19ab08d6a52", "sha256": "fc94ee00690328209fc6481d34eeb3ccf829c0822490052935b6b5a5cff6247b" }, "downloads": -1, "filename": "LstGen-0.1.0.tar.gz", "has_sig": false, "md5_digest": "07366a6eea301cf36e25d19ab08d6a52", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13819, "upload_time": "2016-05-20T16:27:20", "url": "https://files.pythonhosted.org/packages/49/60/02391c901f3f9a9b97925836082618a4c9282b4b2d8af0c342013ffa1d9f/LstGen-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "0fec14e73a9018b53fb379708d1557d8", "sha256": "341859633983d210820392fdc55efdc600aa69cad58483eb128e6040a2188348" }, "downloads": -1, "filename": "LstGen-0.1.1.tar.gz", "has_sig": false, "md5_digest": "0fec14e73a9018b53fb379708d1557d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14650, "upload_time": "2016-05-21T16:22:22", "url": "https://files.pythonhosted.org/packages/26/9e/cf2ca890582203831f540c22f9f4d036770a6ea9301f19f70f75ffe264fb/LstGen-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "2c3fa12c1ebace42ca74ff071494d5c7", "sha256": "29c1b815a5b6dfd5ca9acde6873ac20d5d7ab83c202987e174cffc658a6b4e5e" }, "downloads": -1, "filename": "LstGen-0.2.0.tar.gz", "has_sig": false, "md5_digest": "2c3fa12c1ebace42ca74ff071494d5c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16109, "upload_time": "2016-05-25T14:19:33", "url": "https://files.pythonhosted.org/packages/c3/87/babb2be46fefd9862f6b2bc57c975e00b51fb8383ca27cf9dd1c32747c58/LstGen-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "7270d4e001c888409fca3eafaecf63c9", "sha256": "646f8321158a4bc56bbb671b2aecbb4ee4e048a0482e67a36ea530f83d1083a5" }, "downloads": -1, "filename": "LstGen-0.3.0.tar.gz", "has_sig": false, "md5_digest": "7270d4e001c888409fca3eafaecf63c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17107, "upload_time": "2016-06-15T18:41:53", "url": "https://files.pythonhosted.org/packages/ea/d3/1746be0447a4c2eb88fc5b8d75b9ed08e74a77f6b1b5e380585b593b0751/LstGen-0.3.0.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "f7b4e87fa751077b36e1937b473087de", "sha256": "a886f4df726be7b7b35ab09b2e3945893dce7f83ffd61e4268e8cc1ed6487e7f" }, "downloads": -1, "filename": "LstGen-0.3.2.tar.gz", "has_sig": false, "md5_digest": "f7b4e87fa751077b36e1937b473087de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17278, "upload_time": "2017-04-20T12:32:58", "url": "https://files.pythonhosted.org/packages/d9/80/0f8d7dc43d9c1f30524b1ef8e413648c8da5707d3737718e2b9de9d28c06/LstGen-0.3.2.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "d83188ca2602fead58a2e209cc6bc1e7", "sha256": "2b756a0539f5a1c77aa6ed80ddbd2e2139639f2fee01d90efd7aaa848d594852" }, "downloads": -1, "filename": "LstGen-0.4.0.tar.gz", "has_sig": false, "md5_digest": "d83188ca2602fead58a2e209cc6bc1e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17602, "upload_time": "2018-12-07T12:31:06", "url": "https://files.pythonhosted.org/packages/e4/5b/0b7a8a841c225be6d2d0fce5fe1fa9f3deb9f359e0073b97f867c3ea7da0/LstGen-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "f827b721af221542df67cfa518ca7623", "sha256": "56123a7bd75324a205be1004bf8d7126f2cbde5816e24f78edc2a07a4c1e88b4" }, "downloads": -1, "filename": "LstGen-0.4.1.tar.gz", "has_sig": false, "md5_digest": "f827b721af221542df67cfa518ca7623", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17672, "upload_time": "2019-03-04T10:33:14", "url": "https://files.pythonhosted.org/packages/65/29/055d509440df4b80c03d9ecf0b22b193e37da5ef77b2038c1aafc638506e/LstGen-0.4.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f827b721af221542df67cfa518ca7623", "sha256": "56123a7bd75324a205be1004bf8d7126f2cbde5816e24f78edc2a07a4c1e88b4" }, "downloads": -1, "filename": "LstGen-0.4.1.tar.gz", "has_sig": false, "md5_digest": "f827b721af221542df67cfa518ca7623", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17672, "upload_time": "2019-03-04T10:33:14", "url": "https://files.pythonhosted.org/packages/65/29/055d509440df4b80c03d9ecf0b22b193e37da5ef77b2038c1aafc638506e/LstGen-0.4.1.tar.gz" } ] }