{ "info": { "author": "Duncan Forgan", "author_email": "dh4gan@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "taktent: a simulator package for testing SETI observational strategies\n==============================================\n[![DOI](https://zenodo.org/badge/157450057.svg)](https://zenodo.org/badge/latestdoi/157450057)\n\nThis Python package allows the user to setup and run an agent-based simulation of a SETI survey. The package allows the creation of a population of observing and transmitting civilisations. Each transmitter and observer conducts their activities (pointing and broadcasting) according to an input strategy. The success of observers and transmitters can then be recorded, and multiple simulations can be run for Monte Carlo Realisation.\n\nThis package is therefore a flexible framework in which to simulate and test different SETI strategies, both as an Observer and as a Transmitter. It is primarily designed with radio SETI in mind, but is sufficiently flexible to simulate all forms of electromagnetic SETI, and potentially neutrino and gravitational wave SETI.\n\nIf you want to use this in a publication, please get in touch with me!\n\n![](doc/xymovie.gif)\n\n\nFeatures\n--------\n\n* Object-oriented, agent-driven simulation of Observers and Transmitters\n\n* Generates agents spatially distributed in random cubes, random spheres and the Galactic Habitable Zone\n\n* Simulates continuous and pulsing broadcasts at a defined beam-size\n\n* Permits transmission/observation strategies as a smooth scan across the sky, or as a series of discrete pointings\n\n* Accounts for Doppler drift due to transmitters/observers orbiting a host star\n\n* Accounts for signal travel time\n\n* Generates maps of the sky as seen from Observers' point of view\n\n* Current presets optimised for electromagnetic signals - can be configured for signals of arbitrary speed and decay behaviour (gravitational waves, neutrinos)\n\n\nFuture Features/Wishlist\n------------------------\n\n* Interstellar scintillation/absorption/dispersion, other forms of noise\n\n* Sampling of planetary orbits from exoplanet data\n\n* Plotting library for output MCR data\n\n* Polarisation modelling - parameters included but not implemented in detections\n\n\nInstallation Instructions\n--------------------------\n\nThis package is hosted on PyPI. To install with pip:\n\n`> pip install taktent`\n\nThe code has been developed in Python 3.6, using numpy 1.14.3 and matplotlib 2.2.2, and hence requires these for basic operation.\n\nIf the user wishes to generate all-sky maps for their Observer objects, this will also require `mpl_toolkits.basemap` to be installed. This is an optional requirement, and the package will function without it (producing field-of-view maps instead).\n\n\nExamples of Use\n-------------------\n\nExamples of how to use `taktent` to set up and conduct SETI simulations can be found in the `examples/` folder. \n\n\nPhysical Units\n-----------------\n\nThe \"natural\" physical units of the package are:\n\n* distance -- parsecs\n\n* time -- years\n\n* speed -- parsecs/year\n\n* frequency -- Hertz\n\n* Power -- Watts\n\n* Flux/Sensitivity -- Watts m^-2\n\n\nHow to Contribute\n----------------------\n\nSee [`CONTRIBUTING.md`](CONTRIBUTING.md) for details\n\n\nPackage Structure\n---------------------\n\nThe package contains several modules defining six fundamental classes: \n\n### `agents/`\n\n`Vector3D` - a 3D cartesian vector class\n\n`Agent` - a generic agent base class\n\n `Transmitter(Agent)` - a transmitting civilisation\n\n `Observer(Agent)` - an observing civilisation\n \n### `strategies/`\n\n`Strategy` - a base class that defines generic targeting behaviour of an agent as a function of time\n\n `PointingStrategy(Strategy)` - A discrete pointing strategy (defined by a list of target vectors)\n `scanningStrategy(Strategy)` - A continuous pointing strategy (defined by a target vector function)\n\n### `population/`\n\n`Population` - a class that defines the combined population of Transmitters and Observers, and drives the simulation\n\n\nCreating a Simulation\n-------------------------\n\nThe basic procedure for creating simulations is as follows:\n\n1. Create a `Population` object\n2. Create `Strategy` objects for `Transmitter` and `Observer`\n3. Generate `Transmitter` objects (either manually or using methods in `Population`)\n4. Generate an `Observer` (or multiple `Observer` objects)\n5. Run the simulation (with data recorded in the `Population` Object)\n\nMonte Carlo Realisation simulations can then be run by repeating steps 1-5 as many times as necessary.\n\n\nThe Name\n---------\n\nThe name \"taktent\" is derived from the Scots phrase \"tak tent o' the sma things\", which translates as \"pay attention to the little things\"\n\n\n\n \n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/dh4gan/taktent", "keywords": "", "license": "GPL-3.0", "maintainer": "", "maintainer_email": "", "name": "taktent", "package_url": "https://pypi.org/project/taktent/", "platform": "", "project_url": "https://pypi.org/project/taktent/", "project_urls": { "Homepage": "http://github.com/dh4gan/taktent" }, "release_url": "https://pypi.org/project/taktent/1.13/", "requires_dist": null, "requires_python": "", "summary": "A framework for conducting agent-based simulations of SETI", "version": "1.13" }, "last_serial": 4759962, "releases": { "0.7": [ { "comment_text": "", "digests": { "md5": "e3456ea0e95a24cbb7800307979f8db2", "sha256": "8bb5b3fb3f67179b691bbc79ec00b5fc908abefacbba596ff715203ba9be2cff" }, "downloads": -1, "filename": "taktent-0.7.tar.gz", "has_sig": false, "md5_digest": "e3456ea0e95a24cbb7800307979f8db2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15625, "upload_time": "2018-12-05T16:43:57", "url": "https://files.pythonhosted.org/packages/dd/8d/a06a99a45c7502bb6890293f98f3416b2ecacde5089e9ff47f4ee65185b5/taktent-0.7.tar.gz" } ], "0.700001": [ { "comment_text": "", "digests": { "md5": "c6cb01f3bcf35059ad66e43750004e06", "sha256": "a8968124c8e62f29d1ce9300f8825a8545b8abdf8674d968d42406c29ef71c21" }, "downloads": -1, "filename": "taktent-0.700001.tar.gz", "has_sig": false, "md5_digest": "c6cb01f3bcf35059ad66e43750004e06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15638, "upload_time": "2018-12-05T16:45:15", "url": "https://files.pythonhosted.org/packages/74/f4/4c0221a37f203d6d481a24b223f79c594f53caa50f9688ce995a50cb6e7b/taktent-0.700001.tar.gz" } ], "0.700002": [ { "comment_text": "", "digests": { "md5": "567ec18bf1df65e153150b2f80421494", "sha256": "32c7f4ac11ba4c5164a8af034e20e3f63a9e4ca69d4feb41445ba193914b373c" }, "downloads": -1, "filename": "taktent-0.700002.tar.gz", "has_sig": false, "md5_digest": "567ec18bf1df65e153150b2f80421494", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15644, "upload_time": "2018-12-05T16:46:35", "url": "https://files.pythonhosted.org/packages/a4/b2/94a726aade5243b6652526eadba8e4a593838b750585e834ab798604a5fc/taktent-0.700002.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "b405e54257f76dcf3e4891363a40d1dc", "sha256": "a975206c1577a89e49776798ae6e81ed72a6bb64ce8c721d0895905d0cb7f214" }, "downloads": -1, "filename": "taktent-1.0.tar.gz", "has_sig": false, "md5_digest": "b405e54257f76dcf3e4891363a40d1dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15790, "upload_time": "2018-12-05T17:06:03", "url": "https://files.pythonhosted.org/packages/32/60/fb8fe48a2bba3f4e1253905ec4c5bb567c62bdf62661172f06e30bbfd6f2/taktent-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "cc78eb812e1821510d7ae0aee2270344", "sha256": "6d1062a623a2f2aa1d5e3408ac8011a4dddb0a9dfd3328ed977df80ee1c58f1b" }, "downloads": -1, "filename": "taktent-1.1.tar.gz", "has_sig": false, "md5_digest": "cc78eb812e1821510d7ae0aee2270344", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17718, "upload_time": "2018-12-06T15:08:59", "url": "https://files.pythonhosted.org/packages/b7/a9/2ce55af9577bc0990888cf2a4b88f7ea815a9b638d44330e354fca4899cb/taktent-1.1.tar.gz" } ], "1.11": [ { "comment_text": "", "digests": { "md5": "d72e8ecf40358c878f198d2b4e1f2d72", "sha256": "6b72b5cd3cc8f3b70e0a1920367ffc3ae84ffe663324f99a90c262b76652d175" }, "downloads": -1, "filename": "taktent-1.11.tar.gz", "has_sig": false, "md5_digest": "d72e8ecf40358c878f198d2b4e1f2d72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17728, "upload_time": "2018-12-06T15:10:35", "url": "https://files.pythonhosted.org/packages/00/7d/80a0513141a494675ff833406f722a7dd7301f255c3be650f7f790271d69/taktent-1.11.tar.gz" } ], "1.12": [ { "comment_text": "", "digests": { "md5": "14c1e7cc29bb539ea36bf97e85107070", "sha256": "0c8e193ac9ba8f126b8e3ed835bfec2e706833f20fedd7c4c017f009afe0ec28" }, "downloads": -1, "filename": "taktent-1.12.tar.gz", "has_sig": false, "md5_digest": "14c1e7cc29bb539ea36bf97e85107070", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19441, "upload_time": "2018-12-11T22:20:56", "url": "https://files.pythonhosted.org/packages/6a/dd/784343caf32db2969e94a48c3517caa237a1f5f0a460160e3a81f7b3a47d/taktent-1.12.tar.gz" } ], "1.13": [ { "comment_text": "", "digests": { "md5": "c686097e6d92972a0669f38bc724ab75", "sha256": "1b5b861cfd878c37354f2cc9bcf5ec1296a7b0902bd848dc406395179594ce3e" }, "downloads": -1, "filename": "taktent-1.13.tar.gz", "has_sig": false, "md5_digest": "c686097e6d92972a0669f38bc724ab75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20798, "upload_time": "2019-01-30T14:27:06", "url": "https://files.pythonhosted.org/packages/6d/28/c76321ea2b655784c7460dc4360ae4de7485a82a32d442e9473324c7acc5/taktent-1.13.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c686097e6d92972a0669f38bc724ab75", "sha256": "1b5b861cfd878c37354f2cc9bcf5ec1296a7b0902bd848dc406395179594ce3e" }, "downloads": -1, "filename": "taktent-1.13.tar.gz", "has_sig": false, "md5_digest": "c686097e6d92972a0669f38bc724ab75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20798, "upload_time": "2019-01-30T14:27:06", "url": "https://files.pythonhosted.org/packages/6d/28/c76321ea2b655784c7460dc4360ae4de7485a82a32d442e9473324c7acc5/taktent-1.13.tar.gz" } ] }