{ "info": { "author": "Martin Sandve Aln\u00e6s", "author_email": "martinal@simula.no", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Scientific/Engineering :: Mathematics", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "dijitso\n=======\n\n*A Python module for distributed just-in-time shared library building*\n\nAuthors:\n\n- Martin Sandve Aln\u00e6s (martinal@simula.no)\n- Garth N. Wells (gnw20@cam.ac.uk)\n- Johannes Ring (johannr@simula.no)\n\nContributors:\n\n- Jan Blechta (blechta@karlin.mff.cuni.cz)\n\n\nDocumentation\n-------------\n\nDocumentation can be viewed at http://fenics-dijitso.readthedocs.org/.\n\n.. image:: https://readthedocs.org/projects/fenics-dijitso/badge/?version=latest\n :target: http://fenics.readthedocs.io/projects/dijitso/en/latest/?badge=latest\n :alt: Documentation Status\n\n\nAutomated Testing\n-----------------\n\nWe use Bitbucket Pipelines and Atlassian Bamboo to perform automated\ntesting.\n\n.. image:: https://bitbucket-badges.useast.atlassian.io/badge/fenics-project/dijitso.svg\n :target: https://bitbucket.org/fenics-project/dijitso/addon/pipelines/home\n :alt: Pipelines Build Status\n\n.. image:: http://fenics-bamboo.simula.no:8085/plugins/servlet/wittified/build-status/DIJ-DIDO\n :target: http://fenics-bamboo.simula.no:8085/browse/DIJ-DIDO/latest\n :alt: Bamboo Build Status\n\n\nCode Coverage\n-------------\n\nCode coverage reports can be viewed at\nhttps://coveralls.io/bitbucket/fenics-project/dijitso.\n\n.. image:: https://coveralls.io/repos/bitbucket/fenics-project/dijitso/badge.svg?branch=master\n :target: https://coveralls.io/bitbucket/fenics-project/dijitso?branch=master\n :alt: Coverage Status\n\n\nMotivation\n----------\n\nThis module was written to improve a core component of the FEniCS\nframework, namely the just in time compilation of C++ code that is\ngenerated from Python modules, but is only called from within a C++\nlibrary, and thus do not need wrapping in a nice Python interface.\n\nThe main approach of dijitso is to use ctypes to import the dynamic\nshared library directly with no attempt at wrapping it in a Python\ninterface.\n\nAs long as the compiled code can provide a simple factory function to\na class implementing a predefined C++ interface, there is no limit to\nthe complexity of that interface as long as it is only called from C++\ncode, If you want a Python interface to your generated code, dijitso\nis probably not the answer.\n\nAlthough dijitso serves a very specific role within the FEniCS\nproject, it does not depend on other FEniCS components.\n\nThe parallel support depends on the mpi4py interface, although mpi4py\nis not actually imported within the dijitso module so it would be\npossible to mock the communicator object with a similar interface.\n\n\nFeature list\n------------\n\n- Disk cache system based on user provided signature string (user is\n responsible of the quality of the signature)\n\n- Lazy evaluation of possibly costly code generation through\n user-provided callback, called only if signature is not found in\n disk cache\n\n- Low overhead invocation of C++ compiler to produce a shared library\n with no Python wrapping\n\n- Portable shared library import using ctypes\n\n - Automatic compression of source code in the cache directory saves\n space\n\n- Autodetect which MPI processes share the same physical cache\n directory (doesn't matter if this is all cores on a node or shared\n across nodes with network mapped storage)\n\n- Automatic avoidance of race conditions in disk cache by only\n compiling on one process per physical cache directory\n\n- Optional MPI based distribution of shared library binary file\n\n- Configurable parallel behaviour:\n\n - \"root\": build only on single root node and distribute binary to\n each physical cache directory with MPI\n\n - \"node\": build on one process per physical cache directory\n\n - \"process\": build on each process, automatic separation of cache\n directories\n", "description_content_type": null, "docs_url": null, "download_url": "https://bitbucket.org/fenics-project/dijitso/downloads/dijitso-2017.1.0.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/fenics-project/dijitso/", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "dijitso", "package_url": "https://pypi.org/project/dijitso/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/dijitso/", "project_urls": { "Download": "https://bitbucket.org/fenics-project/dijitso/downloads/dijitso-2017.1.0.tar.gz", "Homepage": "https://bitbucket.org/fenics-project/dijitso/" }, "release_url": "https://pypi.org/project/dijitso/2017.1.0/", "requires_dist": null, "requires_python": "", "summary": "Distributed just-in-time building of shared libraries", "version": "2017.1.0" }, "last_serial": 3165877, "releases": { "2016.2.0": [], "2017.1.0": [ { "comment_text": "", "digests": { "md5": "3313cdd83ed343fd47d94565b4cb8d3f", "sha256": "63039d9c5d31d4667f4858e416f27d90d28743373af4d24967e18247cdc6fb28" }, "downloads": -1, "filename": "dijitso-2017.1.0.tar.gz", "has_sig": true, "md5_digest": "3313cdd83ed343fd47d94565b4cb8d3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52793, "upload_time": "2017-05-09T12:01:47", "url": "https://files.pythonhosted.org/packages/56/cd/fa8bd55ec55e3fe5dcaf9382926bea20aad956bcda7e776271d000d5b42a/dijitso-2017.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3313cdd83ed343fd47d94565b4cb8d3f", "sha256": "63039d9c5d31d4667f4858e416f27d90d28743373af4d24967e18247cdc6fb28" }, "downloads": -1, "filename": "dijitso-2017.1.0.tar.gz", "has_sig": true, "md5_digest": "3313cdd83ed343fd47d94565b4cb8d3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52793, "upload_time": "2017-05-09T12:01:47", "url": "https://files.pythonhosted.org/packages/56/cd/fa8bd55ec55e3fe5dcaf9382926bea20aad956bcda7e776271d000d5b42a/dijitso-2017.1.0.tar.gz" } ] }