diff --git a/DESCRIPTION.md b/DESCRIPTION.md new file mode 100644 index 00000000..fb1d2b02 --- /dev/null +++ b/DESCRIPTION.md @@ -0,0 +1,13 @@ +# Q-CTRL Open Controls + +Q-CTRL Open Controls is an open-source Python package that makes it easy to +create and deploy established error-robust quantum control protocols from the +open literature. The aim of the package is to be the most comprehensive library +of published and tested quantum control techniques developed by the community, +with easy to use export functions allowing users to deploy these controls on: + +- Custom quantum hardware +- Publicly available cloud quantum computers +- The [Q-CTRL product suite](https://q-ctrl.com/products/) + +Anyone interested in quantum control is welcome to contribute to this project. \ No newline at end of file diff --git a/README.md b/README.md index f49cc0d2..e034411e 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,4 @@ -# Q-CTRL Open Controls Python package - -[![Actions Status](https://github.com/qctrl/python-open-controls/workflows/Push%20workflow/badge.svg)](https://github.com/qctrl/python-open-controls/actions?query=workflow%3A"Push+workflow") -[![Actions Status](https://github.com/qctrl/python-open-controls/workflows/Release%20workflow/badge.svg)](https://github.com/qctrl/python-open-controls/actions?query=workflow%3A"Release+workflow") +# Q-CTRL Open Controls Q-CTRL Open Controls is an open-source Python package that makes it easy to create and deploy established error-robust quantum control protocols from the diff --git a/README.rst b/README.rst deleted file mode 100644 index 5a536b87..00000000 --- a/README.rst +++ /dev/null @@ -1,165 +0,0 @@ - -Q-CTRL Open Controls Python package -=================================== - - -.. image:: https://github.com/qctrl/python-open-controls/workflows/Push%20workflow/badge.svg - :target: https://github.com/qctrl/python-open-controls/actions?query=workflow%3A"Push+workflow" - :alt: Actions Status - - -.. image:: https://github.com/qctrl/python-open-controls/workflows/Release%20workflow/badge.svg - :target: https://github.com/qctrl/python-open-controls/actions?query=workflow%3A"Release+workflow" - :alt: Actions Status - - -Q-CTRL Open Controls is an open-source Python package that makes it easy to -create and deploy established error-robust quantum control protocols from the -open literature. The aim of the package is to be the most comprehensive library -of published and tested quantum control techniques developed by the community, -with easy to use export functions allowing users to deploy these controls on: - - -* Custom quantum hardware -* Publicly available cloud quantum computers -* The `Q-CTRL product suite `_ - -Anyone interested in quantum control is welcome to contribute to this project. - -Table of Contents ------------------ - - -* `Installation <#installation>`_ -* `Usage <#usage>`_ -* `Contributing <#contributing>`_ -* `Credits <#credits>`_ -* `License <#license>`_ - -Installation ------------- - -Q-CTRL Open Controls can be installed through ``pip`` or from source. We recommend -the ``pip`` distribution to get the most recent stable release. If you want the -latest features then install from source. - -Requirements -^^^^^^^^^^^^ - -To use Q-CTRL Open Controls you will need an installation of Python. We -recommend using the `Anaconda `_ distribution of -Python. Anaconda includes standard numerical and scientific Python packages -which are optimally compiled for your machine. Follow the `Anaconda -Installation `_ instructions and -consult the `Anaconda User -guide `_ to get started. - -We use interactive jupyter notebooks for our usage examples. The Anaconda -python distribution comes with editors for these files, or you can `install the -jupyter notebook editor `_ on its own. - -Using PyPi -^^^^^^^^^^ - -Use ``pip`` to install the latest version of Q-CTRL Open Controls. - -.. code-block:: shell - - pip install qctrl-open-controls - -From Source -^^^^^^^^^^^ - -The source code is hosted on -`Github `_. The repository can be -cloned using - -.. code-block:: shell - - git clone git@github.com:qctrl/python-open-controls.git - -Once the clone is complete, you have two options: - - -#. - Using setup.py - - .. code-block:: shell - - cd python-open-controls - python setup.py develop - - **Note:** We recommend installing using ``develop`` to point your installation - at the source code in the directory where you cloned the repository. - -#. - Using Poetry - - Follow the instructions from the - `Poetry documentation `_ to - install Poetry. - - After you have installed Poetry, use: - - .. code-block:: bash - - cd python-open-controls - poetry install - -Once installed via one of the above methods, test your installation by running -``pytest`` -in the ``python-open-controls`` directory. - -.. code-block:: shell - - pytest - -Usage ------ - -See the `Jupyter notebooks `_. - -Contributing ------------- - -For general guidelines, see `Contributing `_. - -Building documentation -^^^^^^^^^^^^^^^^^^^^^^ - -Documentation generation relies on `Sphinx `_. Automated builds are done by `Read The Docs `_. - -To build locally: - - -#. Ensure you have used one of the install options above. -#. - Execute the make file from the docs directory: - - If using Poetry: - - .. code-block:: bash - - cd docs - poetry run make html - - If using setuptools: - - .. code-block:: bash - - cd docs - # Activate your virtual environment if required - make html - -The generated HTML will appear in the ``docs/_build/html`` directory. - -Credits -------- - -See -`Contributors `_. - -License -------- - -See `LICENSE `_. diff --git a/pyproject.toml b/pyproject.toml index fb9c88d9..42bbf19c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,29 +4,33 @@ version = "7.0.0" description = "Q-CTRL Open Controls" license = "Apache-2.0" authors = ["Q-CTRL "] -readme = "README.md" +maintainers = ["Q-CTRL "] +readme = "DESCRIPTION.md" +homepage = "https://q-ctrl.com" +repository = "https://github.com/qctrl/python-open-controls" +documentation = "https://docs.q-ctrl.com/references/python/qctrl-open-controls/" keywords = [ - "quantum", - "computing", - "open source", - "engineering" + "q-ctrl", + "qctrl", + "quantum control" ] classifiers = [ - "Development Status :: 5 - Production/Stable", - "Environment :: Console", - "Intended Audience :: Developers", - "Intended Audience :: Education", - "Intended Audience :: Science/Research", - "License :: OSI Approved :: Apache Software License", - "Natural Language :: English", - "Operating System :: OS Independent", - "Programming Language :: Python :: 3.6", - "Topic :: Scientific/Engineering :: Physics", - "Topic :: Scientific/Engineering :: Visualization", - "Topic :: Software Development :: Embedded Systems", - "Topic :: System :: Distributed Computing" - ] -repository = "https://github.com/qctrl/python-open-controls" + "Development Status :: 5 - Production/Stable", + "Environment :: Console", + "Intended Audience :: Developers", + "Intended Audience :: Education", + "Intended Audience :: Science/Research", + "Natural Language :: English", + "Operating System :: OS Independent", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Topic :: Internet :: WWW/HTTP", + "Topic :: Scientific/Engineering :: Physics", + "Topic :: Scientific/Engineering :: Visualization", + "Topic :: Software Development :: Embedded Systems", + "Topic :: System :: Distributed Computing" +] packages = [ { include = "qctrlopencontrols" }, ] @@ -50,6 +54,10 @@ nbval = "^0.9.5" qctrl-visualizer = "^2.3.0" isort = "^5.4.2" +[tool.poetry.urls] +GitHub = "https://github.com/qctrl" +Twitter = "https://twitter.com/qctrlHQ" + [tool.black] exclude = ''' ( diff --git a/setup.py b/setup.py index df548cf6..6be89ce4 100644 --- a/setup.py +++ b/setup.py @@ -15,7 +15,7 @@ readme = '' here = os.path.abspath(os.path.dirname(__file__)) -readme_path = os.path.join(here, 'README.rst') +readme_path = os.path.join(here, 'DESCRIPTION.rst') if os.path.exists(readme_path): with open(readme_path, 'rb') as stream: readme = stream.read().decode('utf8') @@ -27,12 +27,12 @@ version='7.0.0', description='Q-CTRL Open Controls', python_requires='<3.9,>=3.6.4', - project_urls={"repository": "https://github.com/qctrl/python-open-controls"}, + project_urls={"documentation": "https://docs.q-ctrl.com/references/python/qctrl-open-controls/", "homepage": "https://q-ctrl.com", "repository": "https://github.com/qctrl/python-open-controls"}, author='Q-CTRL', author_email='support@q-ctrl.com', license='Apache-2.0', - keywords='quantum computing open source engineering', - classifiers=['Development Status :: 5 - Production/Stable', 'Environment :: Console', 'Intended Audience :: Developers', 'Intended Audience :: Education', 'Intended Audience :: Science/Research', 'License :: OSI Approved :: Apache Software License', 'Natural Language :: English', 'Operating System :: OS Independent', 'Programming Language :: Python :: 3.6', 'Topic :: Scientific/Engineering :: Physics', 'Topic :: Scientific/Engineering :: Visualization', 'Topic :: Software Development :: Embedded Systems', 'Topic :: System :: Distributed Computing'], + keywords='q-ctrl qctrl quantum control', + classifiers=['Development Status :: 5 - Production/Stable', 'Environment :: Console', 'Intended Audience :: Developers', 'Intended Audience :: Education', 'Intended Audience :: Science/Research', 'Natural Language :: English', 'Operating System :: OS Independent', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Topic :: Internet :: WWW/HTTP', 'Topic :: Scientific/Engineering :: Physics', 'Topic :: Scientific/Engineering :: Visualization', 'Topic :: Software Development :: Embedded Systems', 'Topic :: System :: Distributed Computing'], packages=['qctrlopencontrols', 'qctrlopencontrols.driven_controls', 'qctrlopencontrols.dynamic_decoupling_sequences'], package_dir={"": "."}, package_data={},