ssciwr / vstt

Visuomotor Serial Targeting Task (VSTT)
https://vstt.readthedocs.io
MIT License
0 stars 0 forks source link

auto update #187

Closed lkeegan closed 1 year ago

lkeegan commented 1 year ago

A nice to have feature would be an auto-update:

Doesn't seem to be a good existing library for doing this though.

lkeegan commented 1 year ago

pypi provide a json dump from which we can extract the latest version number: json.info.version

https://pypi.org/pypi/vstt/json

{
    "info": {
        "author": "",
        "author_email": "Liam Keegan <ssc@iwr.uni-heidelberg.de>",
        "bugtrack_url": null,
        "classifiers": [
            "Intended Audience :: Education",
            "Intended Audience :: Science/Research",
            "License :: OSI Approved :: MIT License",
            "Natural Language :: English",
            "Operating System :: MacOS :: MacOS X",
            "Operating System :: Microsoft :: Windows",
            "Operating System :: POSIX :: Linux",
            "Programming Language :: Python :: 3 :: Only",
            "Programming Language :: Python :: 3.10",
            "Programming Language :: Python :: 3.7",
            "Programming Language :: Python :: 3.8",
            "Programming Language :: Python :: 3.9",
            "Topic :: Scientific/Engineering :: Bio-Informatics"
        ],
        "description": "# Visuomotor Serial Targeting Task (VSTT)\n\n[![Docs](https://readthedocs.org/projects/vstt/badge/?version=latest)](https://vstt.readthedocs.io/en/latest/?badge=latest)\n[![CI](https://github.com/ssciwr/vstt/actions/workflows/ci.yml/badge.svg)](https://github.com/ssciwr/vstt/actions/workflows/ci.yml)\n[![Coverage](https://codecov.io/gh/ssciwr/vstt/branch/main/graph/badge.svg?token=sjsAdTyLH1)](https://codecov.io/gh/ssciwr/vstt)\n\nVisuomotor Serial Targeting Task (VSTT)\n\nDocumentation: [vstt.readthedocs.io](https://vstt.readthedocs.io/)\n\n![screenshot](https://raw.githubusercontent.com/ssciwr/vstt/main/docs/quickstart/images/gui.png)\n![screenshot](https://raw.githubusercontent.com/ssciwr/vstt/main/docs/quickstart/images/results.png)\n",
        "description_content_type": "text/markdown",
        "docs_url": null,
        "download_url": "",
        "downloads": {
            "last_day": -1,
            "last_month": -1,
            "last_week": -1
        },
        "home_page": "",
        "keywords": "",
        "license": "MIT",
        "maintainer": "",
        "maintainer_email": "",
        "name": "vstt",
        "package_url": "https://pypi.org/project/vstt/",
        "platform": null,
        "project_url": "https://pypi.org/project/vstt/",
        "project_urls": {
            "Documentation": "https://ssciwr.github.io/vstt/",
            "Github": "https://github.com/ssciwr/vstt",
            "Issues": "https://github.com/ssciwr/vstt/issues"
        },
        "release_url": "https://pypi.org/project/vstt/0.25.0/",
        "requires_dist": [
            "psychopy",
            "psychopy-sounddevice",
            "numpy",
            "click",
            "PyQt5",
            "ipykernel ; extra == 'docs'",
            "matplotlib ; extra == 'docs'",
            "nbsphinx ; extra == 'docs'",
            "pandoc ; extra == 'docs'",
            "sphinx (>=4.5.0) ; extra == 'docs'",
            "sphinx-rtd-theme (>=1.0.0) ; extra == 'docs'",
            "pytest ; extra == 'tests'",
            "pytest-cov ; extra == 'tests'",
            "pytest-randomly ; extra == 'tests'",
            "pyautogui ; extra == 'tests'",
            "ascii-magic ; extra == 'tests'",
            "keyboard ; extra == 'tests'"
        ],
        "requires_python": ">=3.7",
        "summary": "Visuomotor Serial Targeting Task (VSTT)",
        "version": "0.25.0",
        "yanked": false,
        "yanked_reason": null
    },
    "last_serial": 18302302,
    "releases": {
        "0.25.0": [
            {
                "comment_text": "",
                "digests": {
                    "blake2b_256": "269aca65a1a4fe30bd2246638cb8793a9a8e9ebfd30fa67ec45825a15d639f90",
                    "md5": "9950ef9eac175162bba3da95cfb83e63",
                    "sha256": "286cef1809caa514abaeba3a7bfe217707b5ec5a6719bb7b465b403d09e9690d"
                },
                "downloads": -1,
                "filename": "vstt-0.25.0-py3-none-any.whl",
                "has_sig": false,
                "md5_digest": "9950ef9eac175162bba3da95cfb83e63",
                "packagetype": "bdist_wheel",
                "python_version": "py3",
                "requires_python": ">=3.7",
                "size": 28464,
                "upload_time": "2023-05-30T12:43:33",
                "upload_time_iso_8601": "2023-05-30T12:43:33.917772Z",
                "url": "https://files.pythonhosted.org/packages/26/9a/ca65a1a4fe30bd2246638cb8793a9a8e9ebfd30fa67ec45825a15d639f90/vstt-0.25.0-py3-none-any.whl",
                "yanked": false,
                "yanked_reason": null
            },
            {
                "comment_text": "",
                "digests": {
                    "blake2b_256": "53c379894907df5c1a002c448d4c16354c0869a00eca5b8df62bb55a6d251449",
                    "md5": "16e23a0ffc2b0e824110f44e794b6dd7",
                    "sha256": "7eacce8880a4bb37bc2cde32b054a4f802c174a2776ac8daf2df41a9f34d6890"
                },
                "downloads": -1,
                "filename": "vstt-0.25.0.tar.gz",
                "has_sig": false,
                "md5_digest": "16e23a0ffc2b0e824110f44e794b6dd7",
                "packagetype": "sdist",
                "python_version": "source",
                "requires_python": ">=3.7",
                "size": 38681,
                "upload_time": "2023-05-30T12:43:35",
                "upload_time_iso_8601": "2023-05-30T12:43:35.307907Z",
                "url": "https://files.pythonhosted.org/packages/53/c3/79894907df5c1a002c448d4c16354c0869a00eca5b8df62bb55a6d251449/vstt-0.25.0.tar.gz",
                "yanked": false,
                "yanked_reason": null
            }
        ]
    },
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "269aca65a1a4fe30bd2246638cb8793a9a8e9ebfd30fa67ec45825a15d639f90",
                "md5": "9950ef9eac175162bba3da95cfb83e63",
                "sha256": "286cef1809caa514abaeba3a7bfe217707b5ec5a6719bb7b465b403d09e9690d"
            },
            "downloads": -1,
            "filename": "vstt-0.25.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9950ef9eac175162bba3da95cfb83e63",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 28464,
            "upload_time": "2023-05-30T12:43:33",
            "upload_time_iso_8601": "2023-05-30T12:43:33.917772Z",
            "url": "https://files.pythonhosted.org/packages/26/9a/ca65a1a4fe30bd2246638cb8793a9a8e9ebfd30fa67ec45825a15d639f90/vstt-0.25.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "53c379894907df5c1a002c448d4c16354c0869a00eca5b8df62bb55a6d251449",
                "md5": "16e23a0ffc2b0e824110f44e794b6dd7",
                "sha256": "7eacce8880a4bb37bc2cde32b054a4f802c174a2776ac8daf2df41a9f34d6890"
            },
            "downloads": -1,
            "filename": "vstt-0.25.0.tar.gz",
            "has_sig": false,
            "md5_digest": "16e23a0ffc2b0e824110f44e794b6dd7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 38681,
            "upload_time": "2023-05-30T12:43:35",
            "upload_time_iso_8601": "2023-05-30T12:43:35.307907Z",
            "url": "https://files.pythonhosted.org/packages/53/c3/79894907df5c1a002c448d4c16354c0869a00eca5b8df62bb55a6d251449/vstt-0.25.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "vulnerabilities": []
}
lkeegan commented 1 year ago

pip recommends running it in a sub-process:

https://pip.pypa.io/en/latest/user_guide/#using-pip-from-your-program

subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'my_package'])