{ "info": { "author": "Howard Xiao", "author_email": "thx@thxo.org", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Communications :: Ham Radio" ], "description": "cabrillo ![Build Status](https://travis-ci.com/thxo/cabrillo.svg?branch=master)\n---------------------\nA Python library to parse Cabrillo-format amateur radio contest logs. \n\n# Getting Started\n## Basic Parsing\n```python\n>>> from cabrillo.parser import parse_log_file\n>>> cab = parse_log_file('tests/CQWPX.log')\n>>> cab.callsign\n'AA1ZZZ'\n>>> cab.qso\n[, ]\n>>> cab.write_text()\n'START-OF-LOG: 3.0\\nCALLSIGN: AA1ZZZ\\nCONTEST: CQ-WPX-CW\\n[...snip...]END-OF-LOG:'\n```\n## Matching Two QSOs in Contest Scoring\n```python\n>>> # We start off with a pair with same data.\n>>> from cabrillo import QSO\n>>> from datetime import datetime\n>>> qso1 = QSO('14313', 'PH', datetime.strptime('May 30 2018 10:15PM', '%b %d %Y %I:%M%p'), 'KX0XXX', 'KX9XXX', de_exch=['59', '10', 'CO'], dx_exch=['44', '20', 'IN'], t=None)\n>>> qso2 = QSO('14313', 'PH', datetime.strptime('May 30 2018 10:10PM', '%b %d %Y %I:%M%p'), 'KX9XXX', 'KX0XXX', de_exch=['44', '20', 'IN'], dx_exch=['59', '10', 'CO'], t=None)\n>>> qso1.match_against(qso2)\nTrue\n>>> qso1.freq = '14000' # Same band, still will match.\n>>> qso1.match_against(qso2)\nTrue\n>>> qso1.match_against(qso2, max_time_delta=1) # Make time checking less lenient.\nFalse\n>>> # All flags.\n>>> qso1.match_against(qso2, max_time_delta=30, check_exch=True, check_band=True))\n```\n\n# Attributes\nUse these attributes to access and construct individual objects.\n\n```\nclass Cabrillo(builtins.object)\n | Cabrillo(check_categories=True, **d)\n | \n | Representation of a Cabrillo log file.\n | \n | Attributes:\n | version: The only supported version is '3.0'.\n | callsign: Call sign of station.\n | contest: Contest identification.\n | category_assisted: One of CATEGORY_ASSISTED.\n | category_band: One of CATEGORY_BAND.\n | category_mode: One of CATEGORY_MODE.\n | category_operator: One of CATEGORY_OPERATOR.\n | category_power: One of CATEGORY-POWER.\n | category_station: One of CATEGORY-STATION.\n | category_time: One of CATEGORY-TIME.\n | category_transmitter: One of CATEGORY-TRANSMITTER. Optional for\n | multi-op.\n | category_overlay: One of CATEGORY-OVERLAY.\n | certificate: If certificate by post. Boolean.\n | claimed_score: Claimed score in int.\n | club: Club represented.\n | created_by: Software responsible for creating this log file.\n | Optional and defaults to \"cabrillo (Python)\".\n | email: Email address of the submitter.\n | location: State/section/ID depending on contest.\n | name: Name.\n | address: Mailing address in list, each entry is each line.\n | address_city: Optional granular address info.\n | address_state_province: Optional granular address info.\n | address_postalcode: Optional granular address info.\n | address_country: Optional granular address info.\n | operators: List containing each operator's callsign of the station.\n | offtime: List containing two datetime objects denoting start and\n | end of off-time.\n | soapbox: List containing each line of soapbox text at their own entry.\n | qso: QSO data containing QSO objects.\n | x_qso: Ignored QSO data containing QSO objects.\n | x_anything: A dict of ignored/unknown attributes.\n```\n \n ```\n class QSO(builtins.object)\n | QSO(freq, mo, date, de_call, dx_call, de_exch=None, dx_exch=None, t=None)\n | \n | Representation of a single QSO.\n | \n | Attributes:\n | freq: Frequency in str representation.\n | mo: Two letter of QSO. See MODES.\n | date: UTC time in datetime.datetime object.\n | de_call: Sent callsign.\n | de_exch: Sent exchange incl. RST. List of each component.\n | dx_call: Received callsign.\n | dx_exch: Received exchange incl. RST. List of each component.\n | t: Transmitter ID for multi-transmitter categories in int. 0/1.\n ```", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/thxo/cabrillo", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "cabrillo", "package_url": "https://pypi.org/project/cabrillo/", "platform": "", "project_url": "https://pypi.org/project/cabrillo/", "project_urls": { "Homepage": "https://github.com/thxo/cabrillo" }, "release_url": "https://pypi.org/project/cabrillo/0.0.3/", "requires_dist": null, "requires_python": "", "summary": "A Python library to parse Cabrillo-format amateur radio contest logs.", "version": "0.0.3" }, "last_serial": 4633128, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "c50ae1902aa7b65be4c458814aa97696", "sha256": "8ddf5dc9eff0ae5d4db9a407d22da0224ca4fee8a7607f0cfb06d64cffdecf5c" }, "downloads": -1, "filename": "cabrillo-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c50ae1902aa7b65be4c458814aa97696", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9409, "upload_time": "2018-12-16T13:14:43", "url": "https://files.pythonhosted.org/packages/86/27/0f82f3122954e78509820f58f13184a2ce51abadb64a2b53cf6886fdcec7/cabrillo-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b4da7a892ab17e52eec38538f222f349", "sha256": "4d6649e29a91363057968d852652167215fe81786b8f98856a2ebfcd15a83a83" }, "downloads": -1, "filename": "cabrillo-0.0.1.tar.gz", "has_sig": false, "md5_digest": "b4da7a892ab17e52eec38538f222f349", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6342, "upload_time": "2018-12-16T13:14:45", "url": "https://files.pythonhosted.org/packages/23/f9/98da6279a923400382b671074cc0c9d8670f9d6ec9bf956e0790f8e95609/cabrillo-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "a9f8a325c3a55144a94517495a08f4d3", "sha256": "3c48968fd41bb78bbe286826957ee2708c314eabcf71dab34853f5a07f8e514a" }, "downloads": -1, "filename": "cabrillo-0.0.2.tar.gz", "has_sig": false, "md5_digest": "a9f8a325c3a55144a94517495a08f4d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6560, "upload_time": "2018-12-23T04:28:55", "url": "https://files.pythonhosted.org/packages/0a/ce/f19f85651c24e124ba3ae53d54e55eb500acf3a960958ac82cda3c1e587c/cabrillo-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "20676d31d22ca0fab15b319f8f6e911c", "sha256": "4f7424d39f2b9e3696547b903527b4203e4d4a78974cad3f30059c877ad9f7bb" }, "downloads": -1, "filename": "cabrillo-0.0.3.tar.gz", "has_sig": false, "md5_digest": "20676d31d22ca0fab15b319f8f6e911c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8741, "upload_time": "2018-12-25T09:48:47", "url": "https://files.pythonhosted.org/packages/70/77/1f99363f402f4566429a81992554ff5f4f3195067e8c4363a478018460d9/cabrillo-0.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "20676d31d22ca0fab15b319f8f6e911c", "sha256": "4f7424d39f2b9e3696547b903527b4203e4d4a78974cad3f30059c877ad9f7bb" }, "downloads": -1, "filename": "cabrillo-0.0.3.tar.gz", "has_sig": false, "md5_digest": "20676d31d22ca0fab15b319f8f6e911c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8741, "upload_time": "2018-12-25T09:48:47", "url": "https://files.pythonhosted.org/packages/70/77/1f99363f402f4566429a81992554ff5f4f3195067e8c4363a478018460d9/cabrillo-0.0.3.tar.gz" } ] }