GCol

GCol: A High-Performance Python Library for Graph Colouring - Published in JOSS (2025)

https://github.com/rhyd-lewis/gcol

Science Score: 93.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
    Found 6 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: springer.com, joss.theoj.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Scientific Fields

Sociology Social Sciences - 64% confidence
Last synced: 6 months ago · JSON representation

Repository

A Python library for graph coloring

Basic Info
  • Host: GitHub
  • Owner: Rhyd-Lewis
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 25.8 MB
Statistics
  • Stars: 8
  • Watchers: 1
  • Forks: 1
  • Open Issues: 1
  • Releases: 1
Created about 1 year ago · Last pushed 8 months ago
Metadata Files
Readme Contributing License

README.md

GCol

DOI

GCol is an open-source Python library for graph coloring, built on top of NetworkX. It provides easy-to-use, high-performance algorithms for node coloring, edge coloring, face coloring, equitable coloring, weighted coloring, precoloring, and maximum independent set identification. It also offers several tools for solution visualization.

In general, graph coloring problems are NP-hard. This library therefore offers both exponential-time exact algorithms and polynomial-time heuristic algorithms.

Quick Start

To install the GCol library, type the following at the command prompt:

python -m pip install gcol

or execute the following in a notebook:

!python -m pip install gcol

To start using this library, try executing the following code.

```python import networkx as nx import matplotlib.pyplot as plt import gcol

G = nx.dodecahedralgraph() c = gcol.nodecoloring(G) print("Here is a node coloring of graph G:", c) nx.drawnetworkx(G, nodecolor=gcol.getnodecolors(G, c)) plt.show() ```

Textbook

The algorithms and techniques used in this library are based on the 2021 textbook by Lewis, R. M. R. (2021) A Guide to Graph Colouring: Algorithms and Applications, Springer Cham. (2nd Edition). In bibtex, this book is cited as:

@book{10.1007/978-3-030-81054-2,
  author = {Lewis, R. M. R.},
  title = {A Guide to Graph Colouring: Algorithms and Applications},
  year = {2021},
  isbn = {978-3-030-81056-6},
  publisher = {Springer Cham},
  edition = {2nd}
}

Support

The GCol repository is hosted on github. If you have any questions or issues, please ask them on stackoverflow, adding the tag graph-coloring. All documentation is listed on this website or, if you prefer in, this pdf. If you have any suggestions for this library or notice any bugs, please contact the author using the contact details at www.rhydlewis.eu.

Owner

  • Login: Rhyd-Lewis
  • Kind: user

JOSS Publication

GCol: A High-Performance Python Library for Graph Colouring
Published
April 02, 2025
Volume 10, Issue 108, Page 7871
Authors
Rhyd Lewis ORCID
School of Mathematics, Cardiff University, Wales, United Kingdom
Geraint Palmer ORCID
School of Mathematics, Cardiff University, Wales, United Kingdom
Editor
Vissarion Fisikopoulos ORCID
Tags
graph theory graph colouring networks

GitHub Events

Total
  • Create event: 5
  • Release event: 1
  • Issues event: 2
  • Watch event: 8
  • Issue comment event: 3
  • Push event: 76
  • Pull request event: 2
  • Fork event: 1
Last Year
  • Create event: 5
  • Release event: 1
  • Issues event: 2
  • Watch event: 8
  • Issue comment event: 3
  • Push event: 76
  • Pull request event: 2
  • Fork event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 76
  • Total Committers: 1
  • Avg Commits per committer: 76.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 76
  • Committers: 1
  • Avg Commits per committer: 76.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Rhyd-Lewis 1****s 76

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 2
  • Total pull requests: 2
  • Average time to close issues: 2 days
  • Average time to close pull requests: 5 days
  • Total issue authors: 2
  • Total pull request authors: 1
  • Average comments per issue: 1.5
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 2
  • Average time to close issues: 2 days
  • Average time to close pull requests: 5 days
  • Issue authors: 2
  • Pull request authors: 1
  • Average comments per issue: 1.5
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • iulian-birlica (1)
  • vissarion (1)
Pull Request Authors
  • geraintpalmer (2)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 83 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 5
  • Total maintainers: 1
pypi.org: gcol

A Python Library for Graph Coloring

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 83 Last month
Rankings
Dependent packages count: 10.0%
Average: 33.0%
Dependent repos count: 56.1%
Maintainers (1)
Last synced: 6 months ago

Dependencies

docs/requirements.txt pypi
  • ipython *
  • matplotlib *
  • networkx *
  • numpydoc *
  • sphinx *
  • sphinx-math-dollar *
setup.py pypi
  • matplotlib >=3.8
  • networkx >=3.0