Skip to content

Commit

Permalink
Add version information constant & Prepare 0.0.4 release
Browse files Browse the repository at this point in the history
  • Loading branch information
minwook-shin committed Aug 2, 2023
1 parent 990a6db commit 660345c
Show file tree
Hide file tree
Showing 6 changed files with 140 additions and 9 deletions.
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# CHANGELOG.md

## 0.0.4 (2023-08-02)

Features :
- Add version information constant
- include Converter, Qiskit version

Fix:
- fix error that unnecessarily return value from logger.

## 0.0.3 (2023-07-31)

Fix:
Expand Down
86 changes: 84 additions & 2 deletions docs/qiskit_class_converter.html
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,15 @@ <h2>API Documentation</h2>
</ul>

</li>
<li>
<a class="variable" href="#__VERSION__">__VERSION__</a>
</li>
<li>
<a class="variable" href="#__QISKIT_VERSION__">__QISKIT_VERSION__</a>
</li>
<li>
<a class="variable" href="#__FULL_VERSION__">__FULL_VERSION__</a>
</li>
</ul>


Expand Down Expand Up @@ -177,9 +186,40 @@ <h1 id="options">Options</h1>
</span><span id="L-43"><a href="#L-43"><span class="linenos">43</span></a><span class="c1"># specific language governing permissions and limitations</span>
</span><span id="L-44"><a href="#L-44"><span class="linenos">44</span></a><span class="c1"># under the License.</span>
</span><span id="L-45"><a href="#L-45"><span class="linenos">45</span></a>
</span><span id="L-46"><a href="#L-46"><span class="linenos">46</span></a><span class="kn">from</span> <span class="nn">.services.converter_service</span> <span class="kn">import</span> <span class="n">ConversionService</span><span class="p">,</span> <span class="n">ConversionType</span>
</span><span id="L-46"><a href="#L-46"><span class="linenos">46</span></a><span class="kn">import</span> <span class="nn">re</span>
</span><span id="L-47"><a href="#L-47"><span class="linenos">47</span></a>
</span><span id="L-48"><a href="#L-48"><span class="linenos">48</span></a><span class="n">__all__</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;ConversionService&quot;</span><span class="p">,</span> <span class="s2">&quot;ConversionType&quot;</span><span class="p">]</span>
</span><span id="L-48"><a href="#L-48"><span class="linenos">48</span></a><span class="k">try</span><span class="p">:</span>
</span><span id="L-49"><a href="#L-49"><span class="linenos">49</span></a> <span class="c1"># tomllib — Parse TOML files</span>
</span><span id="L-50"><a href="#L-50"><span class="linenos">50</span></a> <span class="c1"># New in version 3.11</span>
</span><span id="L-51"><a href="#L-51"><span class="linenos">51</span></a> <span class="kn">import</span> <span class="nn">tomllib</span>
</span><span id="L-52"><a href="#L-52"><span class="linenos">52</span></a><span class="k">except</span> <span class="ne">ModuleNotFoundError</span><span class="p">:</span>
</span><span id="L-53"><a href="#L-53"><span class="linenos">53</span></a> <span class="kn">import</span> <span class="nn">tomli</span> <span class="k">as</span> <span class="nn">tomllib</span>
</span><span id="L-54"><a href="#L-54"><span class="linenos">54</span></a>
</span><span id="L-55"><a href="#L-55"><span class="linenos">55</span></a><span class="kn">from</span> <span class="nn">.services.converter_service</span> <span class="kn">import</span> <span class="n">ConversionService</span><span class="p">,</span> <span class="n">ConversionType</span>
</span><span id="L-56"><a href="#L-56"><span class="linenos">56</span></a>
</span><span id="L-57"><a href="#L-57"><span class="linenos">57</span></a><span class="n">__all__</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;ConversionService&quot;</span><span class="p">,</span> <span class="s2">&quot;ConversionType&quot;</span><span class="p">,</span>
</span><span id="L-58"><a href="#L-58"><span class="linenos">58</span></a> <span class="s2">&quot;__VERSION__&quot;</span><span class="p">,</span> <span class="s2">&quot;__QISKIT_VERSION__&quot;</span><span class="p">,</span> <span class="s2">&quot;__FULL_VERSION__&quot;</span><span class="p">]</span>
</span><span id="L-59"><a href="#L-59"><span class="linenos">59</span></a>
</span><span id="L-60"><a href="#L-60"><span class="linenos">60</span></a><span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="s2">&quot;pyproject.toml&quot;</span><span class="p">,</span> <span class="s2">&quot;rb&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
</span><span id="L-61"><a href="#L-61"><span class="linenos">61</span></a> <span class="n">pyproject_text</span> <span class="o">=</span> <span class="n">tomllib</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">f</span><span class="p">)</span>
</span><span id="L-62"><a href="#L-62"><span class="linenos">62</span></a>
</span><span id="L-63"><a href="#L-63"><span class="linenos">63</span></a><span class="n">__VERSION__</span> <span class="o">=</span> <span class="n">pyproject_text</span><span class="p">[</span><span class="s2">&quot;project&quot;</span><span class="p">][</span><span class="s2">&quot;version&quot;</span><span class="p">]</span>
</span><span id="L-64"><a href="#L-64"><span class="linenos">64</span></a>
</span><span id="L-65"><a href="#L-65"><span class="linenos">65</span></a><span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="s2">&quot;requirements.txt&quot;</span><span class="p">,</span> <span class="n">encoding</span><span class="o">=</span><span class="s2">&quot;UTF-8&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">file</span><span class="p">:</span>
</span><span id="L-66"><a href="#L-66"><span class="linenos">66</span></a> <span class="n">requirements_text</span> <span class="o">=</span> <span class="n">file</span><span class="o">.</span><span class="n">read</span><span class="p">()</span>
</span><span id="L-67"><a href="#L-67"><span class="linenos">67</span></a><span class="n">requirements_text_match</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="sa">r</span><span class="s2">&quot;^qiskit==(\d+\.\d+\.\d+)&quot;</span><span class="p">,</span>
</span><span id="L-68"><a href="#L-68"><span class="linenos">68</span></a> <span class="n">requirements_text</span><span class="p">)</span>
</span><span id="L-69"><a href="#L-69"><span class="linenos">69</span></a>
</span><span id="L-70"><a href="#L-70"><span class="linenos">70</span></a><span class="k">if</span> <span class="n">requirements_text_match</span><span class="p">:</span>
</span><span id="L-71"><a href="#L-71"><span class="linenos">71</span></a> <span class="n">version</span> <span class="o">=</span> <span class="n">requirements_text_match</span><span class="o">.</span><span class="n">group</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
</span><span id="L-72"><a href="#L-72"><span class="linenos">72</span></a> <span class="n">__QISKIT_VERSION__</span> <span class="o">=</span> <span class="n">version</span>
</span><span id="L-73"><a href="#L-73"><span class="linenos">73</span></a><span class="k">else</span><span class="p">:</span>
</span><span id="L-74"><a href="#L-74"><span class="linenos">74</span></a> <span class="n">__QISKIT_VERSION__</span> <span class="o">=</span> <span class="s2">&quot;Unknown Version&quot;</span>
</span><span id="L-75"><a href="#L-75"><span class="linenos">75</span></a>
</span><span id="L-76"><a href="#L-76"><span class="linenos">76</span></a><span class="n">__FULL_VERSION__</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;Qiskit&quot;</span><span class="p">:</span> <span class="n">__QISKIT_VERSION__</span><span class="p">,</span> <span class="s2">&quot;Lib&quot;</span><span class="p">:</span> <span class="n">__VERSION__</span><span class="p">}</span>
</span><span id="L-77"><a href="#L-77"><span class="linenos">77</span></a><span class="sd">&quot;&quot;&quot;.. warning:: This version constant for document is an example. \</span>
</span><span id="L-78"><a href="#L-78"><span class="linenos">78</span></a><span class="sd">For the latest version information, see GitHub Release or PYPI Page. \</span>
</span><span id="L-79"><a href="#L-79"><span class="linenos">79</span></a><span class="sd">https://pypi.org/project/qiskit-classroom-converter/&quot;&quot;&quot;</span>
</span></pre></div>


Expand Down Expand Up @@ -526,6 +566,48 @@ <h5>Inherited Members</h5>
</dl>
</div>
</section>
<section id="__VERSION__">
<div class="attr variable">
<span class="name">__VERSION__</span> =
<span class="default_value">&#39;0.0.4&#39;</span>


</div>
<a class="headerlink" href="#__VERSION__"></a>



</section>
<section id="__QISKIT_VERSION__">
<div class="attr variable">
<span class="name">__QISKIT_VERSION__</span> =
<span class="default_value">&#39;0.44.0&#39;</span>


</div>
<a class="headerlink" href="#__QISKIT_VERSION__"></a>



</section>
<section id="__FULL_VERSION__">
<div class="attr variable">
<span class="name">__FULL_VERSION__</span> =
<span class="default_value">{&#39;Qiskit&#39;: &#39;0.44.0&#39;, &#39;Lib&#39;: &#39;0.0.4&#39;}</span>


</div>
<a class="headerlink" href="#__FULL_VERSION__"></a>

<div class="docstring"><div class="pdoc-alert pdoc-alert-warning">

<h6 id="this-version-constant-for-document-is-an-example-for-the-latest-version-information-see-github-release-or-pypi-page-httpspypiorgprojectqiskit-classroom-converter">This version constant for document is an example. For the latest version information, see GitHub Release or PYPI Page. <a href="https://pypi.org/project/qiskit-classroom-converter/">https://pypi.org/project/qiskit-classroom-converter/</a></h6>

</div>
</div>


</section>
</main>
</body>
</html>
11 changes: 8 additions & 3 deletions example.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,13 @@
from qiskit import QuantumCircuit, transpile
from qiskit_aer import AerSimulator

from qiskit_class_converter import ConversionService, ConversionType
from qiskit_class_converter import ConversionService, ConversionType, __FULL_VERSION__

warnings.filterwarnings('ignore')

version = __FULL_VERSION__
logger.info(version)

# matrix to quantum circuit
input_value = [
[1, 0, 0, 0],
Expand Down Expand Up @@ -91,8 +94,10 @@
logger.info(result)

sample_converter = ConversionService(conversion_type="BRA_KET_TO_MATRIX")
sample_converter.convert(input_value="<00|01>")
result = sample_converter.convert(input_value="<00|01>")
logger.info(result)

# # Alternatives (using Enum)
sample_converter = ConversionService(conversion_type=ConversionType.BRA_KET_TO_MATRIX)
sample_converter.convert(input_value="sqrt(2)*|00>/2+sqrt(2)*|11>/2")
result = sample_converter.convert(input_value="sqrt(2)*|00>/2+sqrt(2)*|11>/2")
logger.info(result)
5 changes: 3 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ exclude = ['qiskit_class_converter*tests']

[project]
name = "qiskit-classroom-converter"
version = "0.0.3"
version = "0.0.4"
authors = [
{ name = "KMU-quantum-classroom" },
]
Expand All @@ -30,7 +30,8 @@ dependencies = [
"qiskit-aer==0.12.2",
"loguru==0.7.0",
"sympy==1.12",
"antlr4-python3-runtime==4.11"
"antlr4-python3-runtime==4.11",
"tomli==2.0.1; python_version < '3.11'"
]

[project.optional-dependencies]
Expand Down
35 changes: 34 additions & 1 deletion qiskit_class_converter/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,39 @@
# specific language governing permissions and limitations
# under the License.

import re

try:
# tomllib — Parse TOML files
# New in version 3.11
import tomllib # pylint: disable=no-name-in-module
except ModuleNotFoundError:
import tomli as tomllib # pylint: disable=no-name-in-module

from .services.converter_service import ConversionService, ConversionType

__all__ = ["ConversionService", "ConversionType"]
__all__ = ["ConversionService", "ConversionType",
"__VERSION__", "__QISKIT_VERSION__", "__FULL_VERSION__"]

# parse library version
with open("pyproject.toml", "rb") as f:
pyproject_text = tomllib.load(f)

__VERSION__ = pyproject_text["project"]["version"]

# parse qiskit version
with open("requirements.txt", encoding="UTF-8") as file:
requirements_text = file.read()
requirements_text_match = re.match(r"^qiskit==(\d+\.\d+\.\d+)",
requirements_text)

if requirements_text_match:
version = requirements_text_match.group(1)
__QISKIT_VERSION__ = version
else:
__QISKIT_VERSION__ = "Unknown Version"

__FULL_VERSION__ = {"Qiskit": __QISKIT_VERSION__, "Lib": __VERSION__}
""".. warning:: This version constant for document is an example. \
For the latest version information, see gitHub release or PYPI page. \
https://pypi.org/project/qiskit-classroom-converter/"""
3 changes: 2 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ qiskit==0.44.0
qiskit-aer==0.12.2
loguru==0.7.0
sympy==1.12
antlr4-python3-runtime==4.11
antlr4-python3-runtime==4.11
tomli==2.0.1; python_version < "3.11"

0 comments on commit 660345c

Please sign in to comment.