{"id":21959723,"url":"https://github.com/rusticisoftware/tincanpython","last_synced_at":"2025-04-07T07:18:03.021Z","repository":{"id":17651179,"uuid":"20455713","full_name":"RusticiSoftware/TinCanPython","owner":"RusticiSoftware","description":"Python Library for xAPI (originally Tin Can API)","archived":false,"fork":false,"pushed_at":"2021-11-08T00:17:12.000Z","size":667,"stargazers_count":53,"open_issues_count":7,"forks_count":40,"subscribers_count":21,"default_branch":"3.x","last_synced_at":"2025-03-31T06:05:46.302Z","etag":null,"topics":["python","python-library","tincan","xapi"],"latest_commit_sha":null,"homepage":"http://rusticisoftware.github.io/TinCanPython/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RusticiSoftware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-06-03T19:07:44.000Z","updated_at":"2025-01-20T23:53:42.000Z","dependencies_parsed_at":"2022-09-02T22:01:27.935Z","dependency_job_id":null,"html_url":"https://github.com/RusticiSoftware/TinCanPython","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RusticiSoftware%2FTinCanPython","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RusticiSoftware%2FTinCanPython/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RusticiSoftware%2FTinCanPython/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RusticiSoftware%2FTinCanPython/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RusticiSoftware","download_url":"https://codeload.github.com/RusticiSoftware/TinCanPython/tar.gz/refs/heads/3.x","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247608160,"owners_count":20965953,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["python","python-library","tincan","xapi"],"created_at":"2024-11-29T09:32:09.238Z","updated_at":"2025-04-07T07:18:02.997Z","avatar_url":"https://github.com/RusticiSoftware.png","language":"Python","readme":"A Python library for implementing Tin Can API.\n\n[![Build Status](https://travis-ci.org/RusticiSoftware/TinCanPython.png)](https://travis-ci.org/RusticiSoftware/TinCanPython)\n\nFor hosted API documentation, basic usage instructions, supported version listing, etc. visit the main project website at:\n\n\u003chttp://rusticisoftware.github.io/TinCanPython/\u003e\n\nFor more information about the Tin Can API visit:\n\n\u003chttp://tincanapi.com/\u003e\n\nRequires Python 3.6 or later.\n\n## Installation\nTinCanPython requires [Python 3.6](https://www.python.org/downloads/) or later.\n\nIf you are installing from the Github repo, you will need to install `aniso8601` and `pytz` (use `sudo` as necessary):\n\n    pip3 install aniso8601 pytz\n\n## Testing\nThe preferred way to run the tests is from the command line.\n\n### Unix-like systems and Mac OS X\nNo preparation needed.\n\n### Windows\nMake sure that your Python installation allows you to run `python` from the command line. If not:\n\n1. Run the Python installer again.\n2. Choose \"Change Python\" from the list.\n3. Include \"Add python.exe to Path\" in the install options. I.e. install everything.\n4. Click \"Next,\" then \"Finish.\"\n\n### Running the tests\nIt is possible to run all the tests in one go, or just run one part of the tests to verify a single part of TinCanPython. The tests are located in `test/`.\n\n#### All the tests:\n1. `cd` to the `test` directory.\n2. Run\n\n        python3 main.py\n\n#### One of the tests:\n1. `cd` to the root directory.\n2. Run\n\n        python3 -m unittest test.remote_lrs_test\n    Where \"remote_lrs_test.py\" is the test file you want to run\n\n\n#### A single test case of one of the tests:\n1. `cd` to the root directory.\n2. Run\n\n        python3 -m unittest test.remote_lrs_test.RemoteLRSTest.test_save_statements\n\n    Where \"remote_lrs_test\" is the test file, \"RemoteLRSTest\" is the class in that file, and \"test_save_statements\" is the specific test case.\n\n## API doc generation\nTo automatically generate documentation, at the root of the repository run,\n\n    sphinx-apidoc -f -o ./docs/source/ tincan/\n\nThen from the `docs/` directory run,\n\n    make html\n\nThe docs will be output to `docs/build/html/`.\n\nIf you would like to change the names of each section, you can do so by modifying `docs/source/tincan.rst`.\n\n## Releasing\nTo release to PyPI, first make sure that you have a PyPI account set up at https://pypi.python.org/pypi (and at\n https://testpypi.python.org/pypi if you plan on using the test index). You will also need a `.pypirc` file in your\n home directory with the following contents.\n\n    [distutils]\n\n    index-servers =\n        pypi\n        pypitest\n\n    [pypi] # authentication details for live PyPI\n    repository: https://pypi.python.org/pypi\n    username: \u003cusername\u003e\n    password: \u003cpassword\u003e\n\n    [pypitest] # authentication details for test PyPI\n    repository: https://testpypi.python.org/pypi\n    username: \u003cusername\u003e\n    password: \u003cpassword\u003e\n\nThe pypitest contents of the `.pypirc` file are optional and are used for hosting to the test PyPI index.\n\nUpdate setup.py to contain the correct release version and any other new information.\n\nTo test the register/upload, run the following commands in the repo directory:\n\n    python3 setup.py register -r pypitest\n    python3 setup.py sdist upload -r pypitest\n\nYou should get no errors and should be able to find this tincan version at https://testpypi.python.org/pypi.\n\nTo register/upload to the live PyPI server, run the following commands in the repo directory:\n\n    python3 setup.py register -r pypi\n    python3 setup.py sdist upload -r pypi\n\nThe new module should be now be installable with pip.\n\n    pip3 install tincan\n    \nUse sudo as necessary.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frusticisoftware%2Ftincanpython","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frusticisoftware%2Ftincanpython","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frusticisoftware%2Ftincanpython/lists"}