Skip to content

fix: licence guard for the wheels: fail on ApexCharts, ship Studio from 26.11.1 (ECharts) - #20

Merged
tae898 merged 3 commits into
ArcadeData:mainfrom
tae898:fix/studio-apexcharts-out-of-wheels
Oct 24, 2026
Merged

tae898 merged 3 commits into
ArcadeData:mainfrom
tae898:fix/studio-apexcharts-out-of-wheels

Conversation

@tae898

@tae898 tae898 commented Oct 23, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes #17.

Studio ships in the wheels again from 26.11.1. It bundled ApexCharts, which has not been open source since 5.1.0 (ArcadeData/arcadedb#10579), and these wheels are Apache-2.0. ArcadeData/arcadedb#10627 replaced ApexCharts with Apache ECharts and was merged on 2026-10-23, so Studio is clean from engine 26.11.1 on. Studio in 26.10.x still bundles ApexCharts. The first release from this repository is 26.11.1 and CI builds from arcadedata/arcadedb:latest, which has ECharts. This PR therefore does not leave the Studio jar out. It turns the check into a licence guard, so a wheel built from an older engine cannot ship.

  • scripts/jar_exclusions.txt: no arcadedb-studio-*.jar line. A note in the "NOT excluded, on purpose" block says why.
  • scripts/verify_wheel_licences.py (was verify_wheel_no_studio.py): fails a wheel that contains an ApexCharts file, in the wheel or inside any jar, so a Studio jar from an older engine, a shaded copy or a renamed jar is caught. A wheel whose Studio carries ECharts passes. Products that are not open source are rows in a NON_OPEN_SOURCE table, so a new case is one line. scripts/build.sh runs it after the size check.
  • tests/test_wheel_licences.py (was test_wheel_no_studio.py): tiny fake wheels, no real wheel needed. A Studio jar with echarts.min.js passes. An apexcharts file in the wheel, a Studio 26.10.2 jar that carries it, a renamed jar that carries it and a jar that is not a zip all fail.
  • tests/test_server_packaging.py: unchanged from main except for a new test_no_apexcharts_in_the_package, which checks the installed package. Studio stays a required jar.

Ported from humemai/arcadedb-embedded-python 12e8359f34 and then turned around for 26.11.1.

Checked on the laptop, pinned to cores 0-3: tests/test_wheel_licences.py has 9 passed. Run on a real wheel built from the 26.11.1-SNAPSHOT image of 2026-10-21 (before #10627 merged), verify_wheel_licences.py exits 1 and names static/dist/css/apexcharts.css inside arcadedb-studio-26.11.1-SNAPSHOT.jar, and test_no_apexcharts_in_the_package fails on the same wheel as it should. I did not build a wheel from a jar that has ECharts: the ECharts case is covered by the fake wheel only, and CI will exercise it on the first build from arcadedata/arcadedb:latest. black is clean.

🤖 Generated with Claude Code

…ApexCharts (not open source since 5.1.0)

Studio bundles ApexCharts, which left MIT after 5.0.0, and this package is Apache-2.0. arcadedb-studio-*.jar joins scripts/jar_exclusions.txt. scripts/verify_wheel_no_studio.py fails a wheel that contains a Studio jar, an ApexCharts file or a jar that carries one; build.sh runs it after the size check. test_server_packaging.py no longer requires the Studio jar and asserts that it and every ApexCharts file are absent.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@tae898

tae898 commented Oct 23, 2026

Copy link
Copy Markdown
Collaborator Author

The failing "Test Python Examples (darwin/arm64, Python 3.10)" job stopped before any example ran: uv could not reach PyPI (Failed to fetch: https://pypi.org/simple/jpype1/ ... client error (Connect), after 3 retries), so "Examples Test Summary" fails with it. A re-run of that job should pass; I cannot re-run jobs here from a fork.

@tae898

tae898 commented Oct 24, 2026

Copy link
Copy Markdown
Collaborator Author

@robfrank this one changes what the wheels contain: Studio is left out until Studio moves off ApexCharts (ArcadeData/arcadedb#10627), so arcadedb users who start a server from Python get no Studio UI in the meantime. CI is green. I'd like your OK before merging it. #28 is the other build change waiting on you (JRE module trim, wheel 73.97 MB to 67.55 MB).

tae898 and others added 2 commits October 25, 2026 01:09
The only conflict was scripts/jar_exclusions.txt. Main's #28 took jackson,
snappy-java and commons-math3 off the list (server mode needs them) and added the
NOT-excluded note; this branch adds arcadedb-studio-*.jar with its licence note.
Kept both: the Studio exclusion and its comment, main's tracing/jline entries,
and main's note. jackson, snappy-java and commons-math3 stay shipped.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
ArcadeData/arcadedb#10627 replaced ApexCharts (not open source since 5.1.0) with Apache ECharts in Studio, first in engine 26.11.1, and this repository's first release is built from that engine. Leaving the Studio jar out of the wheels is no longer needed.

- scripts/jar_exclusions.txt: drop `arcadedb-studio-*.jar`.
- scripts/verify_wheel_no_studio.py becomes scripts/verify_wheel_licences.py: it fails a wheel with an ApexCharts file (in the wheel or inside any jar, so a Studio jar from an older engine is caught) and passes a Studio that carries ECharts. New products that are not open source go in its NON_OPEN_SOURCE table. scripts/build.sh runs it after the size check.
- tests/test_wheel_no_studio.py becomes tests/test_wheel_licences.py: fake wheels with an echarts Studio (pass) and with apexcharts files (fail).
- tests/test_server_packaging.py: Studio is a required jar again; test_no_apexcharts_in_the_package checks what pip installed.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@tae898 tae898 changed the title fix: leave the arcadedb-studio jar out of the wheels (ApexCharts is not open source) fix: licence guard for the wheels: fail on ApexCharts, ship Studio from 26.11.1 (ECharts) Oct 24, 2026
@tae898
tae898 merged commit a25bd06 into ArcadeData:main Oct 24, 2026
46 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Studio jar in the wheels: ApexCharts is no longer open source

1 participant