{ "info": { "author": "Iraklis D., Kritonas P.", "author_email": "hdiakos@outlook.com, kriton_pilavidis@outlook.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: Science/Research", "License :: OSI Approved :: Apache Software License", "Operating System :: Microsoft", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Topic :: Software Development :: Libraries :: Application Frameworks" ], "description": "**Welcome to CRAPI!**\r\n=====================\r\n\r\n **CRAPI** (spelled \"crap-i\" - and hoping not to be such one despite its\r\nname) or **Common Range API** is a library meant to ease the development\r\nin various areas of Linux and Windows using one common API. The library\r\naims to be a highly stable version of common programming practices,\r\nconstructs and OS native functions & tools with a dedicated mindset in:\r\n\r\n- Portability in Windows since Windows API is huge and complicated\r\n- Portability in both OSes (Windows & Linux alike)\r\n- Performance\r\n\r\nWe aim to cover most common scenarios beyond the basic API mechanisms\r\n(i.e. building a multithreaded pipe server, Windows services/Linux\r\ndaemon etc) that will be provided to you however not every scenario will\r\nbe covered. Minimally, priority will be given to the foundation\r\nmechanisms so you may be able to build whatever you want (hopefully).\r\n\r\n**Security issues** and **implementation correctness** are always a\r\npriority and will be taken into account however do note that until we\r\nreach a production/stable status we do not accept input but\r\nsuggestions/comments and/or feedback are always welcome :)\r\n\r\n**Operating system support**\r\n----------------------------\r\n\r\nWindows 7/8/8.1/10, Windows Server 2008 R2/2012 R2/2016 & major Linux\r\nvariants: \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Debian 7.x and 8.x (untested) & CentOS/RHEL 6.6 and 6.7\r\n(tested). Mac OS X is **NOT** supported (unless you buy me one maybe?).\r\n\r\n**Prerequisites**\r\n-----------------\r\n\r\n- Python 2.6 or 2.7 with latest version of pip, wheel and setuptools.\r\n **Windows distributions**: Guess what? You need Mark Hammond's\r\n pywin32 module. Please use the one provided here: pywin32-Build 219\r\n by Christoph Gohlke and make sure to follow the installation\r\n instructions correctly.\r\n\r\n**Why another library?**\r\n------------------------\r\n\r\nHow many times have you been forced to see this (non-parameterized\r\nexample code for illustration purposes)?\r\n\r\n.. code:: python\r\n\r\n self.sa = win32security.SECURITY_ATTRIBUTES()\r\n self.sa.bInheritHandle = True\r\n self.__hPipe = win32pipe.CreateNamedPipe(\r\n '\\\\\\\\.\\\\pipe\\\\mypipe'\r\n win32pipe.PIPE_ACCESS_DUPLEX | win32file.FILE_FLAG_OVERLAPPED,\r\n win32pipe.PIPE_TYPE_MESSAGE | win32pipe.PIPE_READMODE_MESSAGE,\r\n win32pipe.PIPE_UNLIMITED_INSTANCES,\r\n 65535,\r\n 65535,\r\n 60000,\r\n sa\r\n )\r\n\r\nor maybe this (from the MessageBroker library which uses MSMQ):\r\n\r\n.. code:: python\r\n\r\n pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, u'MSMQQueueInfo',\r\n u'The queue does not exist or you do not have sufficient permissions to perform'\r\n 'the operation.', None, 0, -1072824317), None)\r\n\r\nA Python developer shouldn't have to figure this out especially when\r\nit's crafted in a non-Pythonic, untypical way.\r\n\r\nNoone should have to do this. That's why we have attempted to do it FOR\r\nyou WITHOUT you :P.\r\n\r\nP.S.: The above are not meant to criticize Mark Hammond's **pywin32**\r\nexcellent library. Merely, they indicate the difficulties a developer\r\nhas to deal with by being forced to use heterogeneous components and\r\nsource code due to different OSes with incompatible APIs and native\r\nimplementation.\r\n\r\n**LICENSE**\r\n===========\r\n\r\nIt's based on Apache Software License 2.0 (ASF 2.0) so without\r\nsuggesting that this constitutes a legal advice in any way, shape or\r\nform: Do whatever the f\\*\\*\\* you want with it as long as you give us\r\nproper credit! :}\r\n\r\n**DISCLAIMER**\r\n==============\r\n\r\nThe authors strive for a stable and coherent source code base however it\r\nshould be considered experimental and pre-alpha and, as such, not\r\nproduction-ready so use at your own risk! In addition, the authors makes\r\nno guarantees that the code is of top-notch quality (any Win folks\r\nhere?). You have been (fore)warned!!! :]\r\n\r\n**NOTE**\r\n========\r\n\r\nCurrently, only MS Windows is supported. Linux support coming soon :]", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/kounavi/crapi", "keywords": "backend systems development wrapper pipes services daemons", "license": "ASF 2.0", "maintainer": "", "maintainer_email": "", "name": "crapi", "package_url": "https://pypi.org/project/crapi/", "platform": "windows,linux,server,workstation", "project_url": "https://pypi.org/project/crapi/", "project_urls": { "Homepage": "https://github.com/kounavi/crapi" }, "release_url": "https://pypi.org/project/crapi/0.0.2b5/", "requires_dist": [ "MarkupSafe (==0.23)", "enum34 (==1.1.1)", "future (==0.15.2)", "jinja2 (==2.8)", "pywin32 (==220); extra == 'win32'" ], "requires_python": "", "summary": "CRAPI: Common Range API", "version": "0.0.2b5" }, "last_serial": 2340630, "releases": { "0.0.1b1": [ { "comment_text": "", "digests": { "md5": "537a6b6f15726ac3e3d4782706125edd", "sha256": "40ca4ea2a99426dd6f19bdc70ec0bce62306facf7f2319a9a9748dbb46617102" }, "downloads": -1, "filename": "crapi-0.0.1b1-py2-none-any.whl", "has_sig": false, "md5_digest": "537a6b6f15726ac3e3d4782706125edd", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 35180, "upload_time": "2015-12-18T17:23:19", "url": "https://files.pythonhosted.org/packages/5c/5e/39b3d0dd65e5e8568cc1099529f8ad3f15e0b49d724bac4d8611a23c6627/crapi-0.0.1b1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c4b9b5ee4546dbd6c667d4934b45387c", "sha256": "c6e07c7281852d29264f394b5d336a7a8097714280742304b62952bce377a9ce" }, "downloads": -1, "filename": "crapi-0.0.1b1.zip", "has_sig": false, "md5_digest": "c4b9b5ee4546dbd6c667d4934b45387c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37127, "upload_time": "2015-12-18T17:23:28", "url": "https://files.pythonhosted.org/packages/bd/dc/0c5ab6c87ae7884a1aab2d9d4c219de353d8aef66ee749d42cc78f05dbd2/crapi-0.0.1b1.zip" } ], "0.0.1b4": [ { "comment_text": "", "digests": { "md5": "dbcba550b3e6fd18e6f1fb6801c54406", "sha256": "d2e82eeaa40b233cc4c2d74de5465230435461959fef9282a1c7ddc0bb0ced11" }, "downloads": -1, "filename": "crapi-0.0.1b4-py2-none-any.whl", "has_sig": false, "md5_digest": "dbcba550b3e6fd18e6f1fb6801c54406", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 36100, "upload_time": "2015-12-30T12:04:43", "url": "https://files.pythonhosted.org/packages/d4/64/22b7ec0f37e6e0d0d21279f2b39e4f3dcf6ad8724e3a11e0c0168fae70ca/crapi-0.0.1b4-py2-none-any.whl" } ], "0.0.2b5": [ { "comment_text": "", "digests": { "md5": "9d19779a30f0e6da0d71ee60a6f43631", "sha256": "23bbff2cb09b109d998f0ec065626f597b0a31f1d459138315a65794f121134b" }, "downloads": -1, "filename": "crapi-0.0.2b5-py2-none-any.whl", "has_sig": false, "md5_digest": "9d19779a30f0e6da0d71ee60a6f43631", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 39537, "upload_time": "2016-09-13T17:42:25", "url": "https://files.pythonhosted.org/packages/be/ee/c2d5d45e6db7f0c6c7e3620d31fa4f75f21454249ccbd8de0199a4360be5/crapi-0.0.2b5-py2-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9d19779a30f0e6da0d71ee60a6f43631", "sha256": "23bbff2cb09b109d998f0ec065626f597b0a31f1d459138315a65794f121134b" }, "downloads": -1, "filename": "crapi-0.0.2b5-py2-none-any.whl", "has_sig": false, "md5_digest": "9d19779a30f0e6da0d71ee60a6f43631", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 39537, "upload_time": "2016-09-13T17:42:25", "url": "https://files.pythonhosted.org/packages/be/ee/c2d5d45e6db7f0c6c7e3620d31fa4f75f21454249ccbd8de0199a4360be5/crapi-0.0.2b5-py2-none-any.whl" } ] }