dimod

A shared API for QUBO/Ising samplers.

https://github.com/dwavesystems/dimod

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 45 committers (2.2%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.9%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

A shared API for QUBO/Ising samplers.

Basic Info
Statistics
  • Stars: 132
  • Watchers: 19
  • Forks: 84
  • Open Issues: 163
  • Releases: 160
Created almost 9 years ago · Last pushed 11 months ago
Metadata Files
Readme License

README.rst

.. image:: https://img.shields.io/pypi/v/dimod.svg
    :target: https://pypi.org/project/dimod

.. image:: https://img.shields.io/pypi/pyversions/dimod.svg
    :target: https://pypi.python.org/pypi/dimod

.. image:: https://circleci.com/gh/dwavesystems/dimod.svg?style=svg
    :target: https://circleci.com/gh/dwavesystems/dimod

.. image:: https://codecov.io/gh/dwavesystems/dimod/branch/main/graph/badge.svg
    :target: https://codecov.io/gh/dwavesystems/dimod

=====
dimod
=====

.. start_dimod_about

`dimod` is a shared API for samplers. It provides:

*   Classes for quadratic models---such as the binary quadratic model (BQM)
    class that contains Ising and QUBO models used by samplers such as the
    D-Wave quantum computer---and higher-order (non-quadratic) models.
*   Reference examples of samplers and composed samplers.
*   `Abstract base classes `_ for
    constructing new samplers and composed samplers.

>>> import dimod
...
>>> # Construct a problem
>>> bqm = dimod.BinaryQuadraticModel({0: -1, 1: 1}, {(0, 1): 2}, 0.0, dimod.BINARY)
...
>>> # Use dimod's brute force solver to solve the problem
>>> sampleset = dimod.ExactSolver().sample(bqm)
>>> print(sampleset)
   0  1 energy num_oc.
1  1  0   -1.0       1
0  0  0    0.0       1
3  0  1    1.0       1
2  1  1    2.0       1
['BINARY', 4 rows, 4 samples, 2 variables]

.. end_dimod_about

For explanations of the terminology, see the
`Ocean glossary `_.

See the `documentation `_
for more examples.

Installation
============

Installation from `PyPI `_:

.. code-block:: bash

    pip install dimod

License
=======

Released under the Apache License 2.0. See LICENSE file.

Contributing
============

Ocean's
`contributing `_
section has guidelines for contributing to Ocean packages.

dimod includes some formatting customization in the
`.clang-format <.clang-format>`_ and `setup.cfg `_ files.

Release Notes
-------------

dimod makes use of `reno `_ to manage its
release notes.

When making a contribution to dimod that will affect users, create a new
release note file by running

.. code-block:: bash

    reno new your-short-descriptor-here

You can then edit the file created under ``releasenotes/notes/``.
Remove any sections not relevant to your changes.
Commit the file along with your changes.

See reno's
`user guide `_ for
details.

Owner

  • Name: D-Wave Systems Inc.
  • Login: dwavesystems
  • Kind: organization

D-Wave's Ocean software and other open-source projects

GitHub Events

Total
  • Create event: 3
  • Issues event: 8
  • Release event: 3
  • Watch event: 8
  • Issue comment event: 14
  • Push event: 11
  • Pull request review event: 23
  • Pull request review comment event: 19
  • Pull request event: 18
  • Fork event: 3
Last Year
  • Create event: 3
  • Issues event: 8
  • Release event: 3
  • Watch event: 8
  • Issue comment event: 14
  • Push event: 11
  • Pull request review event: 23
  • Pull request review comment event: 19
  • Pull request event: 18
  • Fork event: 3

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 2,609
  • Total Committers: 45
  • Avg Commits per committer: 57.978
  • Development Distribution Score (DDS): 0.544
Past Year
  • Commits: 251
  • Committers: 9
  • Avg Commits per committer: 27.889
  • Development Distribution Score (DDS): 0.522
Top Committers
Name Email Commits
Alexander Condello a****o@g****m 1,190
Alexander Condello a****o@d****m 516
Joel Pasvolsky j****y@d****m 429
Alex Zucca a****a@d****m 55
Heidi Tong h****g@d****m 50
Hossein Sadeghi h****i@d****m 40
Daniel Mahler d****r@d****m 40
iozfidan i****n@d****m 36
Jack Raymond 1****d 33
Radomir Stevanovic r****r@d****m 33
Tim Doyle t****e@d****m 32
William Bernoudy w****y@d****m 31
Mason Christensen m****n@d****m 27
Joel Pasvolsky 3****y 9
Bradley Ellert b****t@d****m 9
Alejandro Montanez a****r@g****m 7
Jason Necaise j****e@d****m 7
Daniel Mahler d****r@g****m 6
Victoria Goliber v****r@d****m 5
Kevin Chern k****n@d****m 4
oneklc o****c@g****m 4
Kotaro Tanahashi t****i@r****p 4
Mohsen Rahmani 5****5 4
Juan Sebastian Lozano j****o@d****m 4
afrechette a****e@d****m 3
Aidan Roy a****y@d****m 3
Anil Mahmud a****d@d****m 3
Kelsey Hamer k****r@d****m 3
pfarre p****e@d****m 3
Radomir Stevanovic s****e@v****m 2
and 15 more...
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 59
  • Total pull requests: 111
  • Average time to close issues: 2 months
  • Average time to close pull requests: 18 days
  • Total issue authors: 26
  • Total pull request authors: 13
  • Average comments per issue: 1.97
  • Average comments per pull request: 1.05
  • Merged pull requests: 103
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 8
  • Pull requests: 26
  • Average time to close issues: 7 days
  • Average time to close pull requests: 9 days
  • Issue authors: 5
  • Pull request authors: 9
  • Average comments per issue: 1.13
  • Average comments per pull request: 1.38
  • Merged pull requests: 26
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • arcondello (20)
  • yurivict (8)
  • JoelPasvolsky (7)
  • randomir (4)
  • vgoliber (2)
  • mhlr (2)
  • alejomonbar (1)
  • robliou (1)
  • wilhelmagren (1)
  • BehrouzSohrabi (1)
  • hbarovertwo (1)
  • DeborahVolpe (1)
  • 29rou (1)
  • kcLin2708 (1)
  • elham-azd (1)
Pull Request Authors
  • arcondello (92)
  • JoelPasvolsky (14)
  • k8culver (9)
  • pau557 (5)
  • randomir (4)
  • aivarsoo (4)
  • richrines1 (2)
  • eordog (2)
  • alexzucca90 (2)
  • kevinchern (1)
  • alejomonbar (1)
  • juansebastianl (1)
  • TheFlonet (1)
  • smharwood (1)
Top Labels
Issue Labels
feature-request/enhancement (26) bug/fix (9) enhancement (4) bug (3) discussion (1) question (1)
Pull Request Labels
feature-request/enhancement (29) bug/fix (19) enhancement (14) bug (5) backwards compatibility break (4) discussion (1)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 74,439 last-month
  • Total docker downloads: 116
  • Total dependent packages: 56
    (may contain duplicates)
  • Total dependent repositories: 110
    (may contain duplicates)
  • Total versions: 167
  • Total maintainers: 3
pypi.org: dimod

A shared API for binary quadratic model samplers.

  • Versions: 152
  • Dependent Packages: 41
  • Dependent Repositories: 110
  • Downloads: 74,439 Last month
  • Docker Downloads: 116
Rankings
Dependent packages count: 0.4%
Downloads: 1.4%
Dependent repos count: 1.4%
Average: 3.2%
Docker downloads count: 4.1%
Forks count: 5.0%
Stargazers count: 6.6%
Maintainers (3)
Last synced: 11 months ago
conda-forge.org: dimod
  • Versions: 15
  • Dependent Packages: 15
  • Dependent Repositories: 0
Rankings
Dependent packages count: 4.2%
Forks count: 20.5%
Average: 22.3%
Stargazers count: 30.3%
Dependent repos count: 34.0%
Last synced: 11 months ago

Dependencies

benchmarks/requirements.txt pypi
  • asv ==0.5.1
  • virtualenv ==16.7.12
docs/requirements.txt pypi
  • breathe *
  • networkx ==2.5
  • notebook ==6.4.11
  • reno ==3.3.0
  • sphinx <4.1.0
  • sphinx_rtd_theme *
requirements.txt pypi
  • cython ==0.29.28
  • numpy ==1.21.6
  • reno ==3.3.0
  • setuptools >=46.4.0
setup.py pypi
  • numpy >=1.17.3,<2.0.0
  • support *
  • this *
tests/requirements.txt pypi
  • codecov *
  • coverage *
  • mypy ==0.942
  • networkx ==2.5
  • pandas ==1.1.4
  • parameterized ==0.7.4
  • pymongo ==3.7.1