Skip to content

Releases: higlass/higlass-python

v1.4.0

Choose a tag to compare

@nvictus nvictus released this 01 Mar 15:57
815e4aa

This release adds Shadow DOM support, changing widget rendering behavior. The HiGlass viewer is now rendered within a ShadowDOM root, isolating its CSS styling from that of the containing document. Consumers who inspect el.children or rely on document-level styles will be affected.

What's changed

  • Render HiGlass viewer inside Shadow DOM by @manzt in #208
  • Fix page scrolling when using mouse wheel to zoom in Jupyter notebooks by @kaspermunch in #194
  • Raise minimum Python to 3.10 by @manzt in #207

Maintenance

  • Set minimum uv version in pyproject.toml by @manzt in #203
  • Unpin uv version in docs workflows by @manzt in #205
  • Replace pkg_resources with packaging for version parsing by @manzt in #206
  • Typecheck project with ty by @manzt in #204
  • chore(deps): bump actions/checkout from 5 to 6 in the actions group across 1 directory by @dependabot[bot] in #209
  • Add widget.js smoke test by @manzt in #202

New Contributors

Full Changelog: v1.3.5...v1.4.0

v1.3.5

Choose a tag to compare

@nvictus nvictus released this 26 Feb 21:11
dbf8a38

Bug fixes

  • Inline esm.sh URLs in widget.js by @manzt in #201

Full Changelog: v1.3.4...v1.3.5

Sequence logo track support

Choose a tag to compare

@pkerpedjiev pkerpedjiev released this 04 Oct 23:50
650809c

Updated docs for multivec tracks and added a literal for sequence-logo tracks

v1.3.3

Choose a tag to compare

@manzt manzt released this 11 Apr 14:40
2819a7a

What's Changed

import higlass as hg

ts = hg.chromsizes('chromSizes_hg19_reordered.tsv')

hg.view(
    (ts.track('horizontal-chromosome-labels'), 'top'),
    (ts.track('horizontal-chromosome-labels'), 'left'),
)

Full Changelog: v1.3.2...v1.3.3

v1.3.2

Choose a tag to compare

@manzt manzt released this 07 Apr 00:24
d401e1b

What's Changed

  • fix: Resolve jupyter server tile sources in combined tracks by @pkerpedjiev in #186

Full Changelog: v1.3.1...v1.3.2

v1.3.1

Choose a tag to compare

@manzt manzt released this 11 Mar 03:32
a22b771

What's Changed

  • feat(widget): Batch tile requests within an animation frame by @manzt in #181

Full Changelog: v1.3.0...v1.3.1

v1.3.0

Choose a tag to compare

@manzt manzt released this 12 Feb 21:46
8965585

This release deliberately contains backwards-incompatible changes. To avoid automatically picking up releases like this, you can pin the exact version of higlass-python in your pyproject.toml or requirements.txt file .

  • Switch to Jupyter comms-based server (remove hg.server) by @manzt in #145

HiGlass now uses Jupyter's built-in communication system to serve tilesets, removing the need for hg.server. Previously, hg.server ran a background HTTP server, but it caused issues on remote machines (e.g., authentication, port configuration).

This update removes hg.server and replaces it with a Jupyter comms-based approach, leveraging existing WebSocket connections. This makes HiGlass more robust across different environments and simplifies setup.

If HiGlass already works for you, nothing should change! If you previously used hg.server.enable_proxy, you can simple remove that line in your code:

-- hg.server.enable_proxy() 

This is a new feature, so please report any issues!

  • Add higlass.Tileset for making custom tilesets by @manzt in #172, #177

With the removal of hg.server, HiGlass now provides a simpler way to define custom tilesets.

Instead of hg.server.add(tileset), you can now subclass hg.Tileset:

from dataclasses import dataclass

import higlass as hg
from clodius.tiles import cooler

@dataclass
class MyCustomCoolerTileset(hg.Tileset):
    path: str
    datatype = "matrix"

    def tiles(self, tile_ids):
        return cooler.tiles(self.path, tile_ids)

    def info(self):
        return cooler.tileset_info(self.path)

tileset = MyCustomCoolerTileset("test.mcool")
hg.view(tileset.track())

hg.Tileset automatically registers the tileset via Jupyter comms and provides a .track() method to create a HiGlass track with the correct tileset information.

higlass.fuse was an incomplete and poorly documented feature that added complexity without clear benefits. Filehandle-like interfaces now provide a more reliable alternative. If you relied on this feature, please open an issue!

Full Changelog: v1.2.1...v1.3.0

v1.2.1

Choose a tag to compare

@manzt manzt released this 27 Jan 19:09
80011f7

What's Changed

Full Changelog: v1.2.0...v1.2.1

v1.2.0

Choose a tag to compare

@manzt manzt released this 12 Nov 15:13
4b9996c

What's Changed

  • Breaking: Migrate to higlass-schema v0.2.0 (pydantic v2) by @manzt in #155
  • Shorter automatic uids for Tracks and Views by @manzt in #157
  • Upgrade HiGlass front-end to v1.13 by @manzt in #158

Full Changelog: v1.1.2...v1.2.0

This release does not introduce changes to the higlass-python API itself. However, it migrates the core data objects created and modified by the higlass-python API from Pydantic v1 to Pydantic v2. We are marking this as a breaking release, as some methods and attributes on these objects are now deprecated.

Libraries relying on higlass-schema (Pydantic models for Python) may encounter breaking changes if they use methods that have changed between Pydantic v1 and v2. We expect this update to improve compatibility and make it easier to use higlass-python in environments that depend on Pydantic v2 (which are increasing).

v1.1.2

Choose a tag to compare

@manzt manzt released this 12 Nov 02:35
c16e2b5

What's Changed

  • Pin higlass-schema version upper bound for <v1.2 by @manzt in #156

Full Changelog: v1.1.0...v1.1.2