JuliaDynamics / ComplexityMeasures.jl

Estimators for probabilities, entropies, and other complexity measures derived from data in the context of nonlinear dynamics and complex systems
MIT License
48 stars 11 forks source link

Dep compatibility issue between ComplexityMeasures (3.0.0) and DynamicalSystems (3.2.3). #365

Closed rusandris closed 6 months ago

rusandris commented 6 months ago

Hi! I'm currently unable to install the new release (3.0.0) together with DynamicalSystems (3.2.3). Automatically, with ] add ComplexityMeasures installs 2.8. if DynamicalSystems is already in the environment, due to compat constraints.

When trying to install it from the repository in a new environment,

] activate .
] add https://github.com/JuliaDynamics/ComplexityMeasures.jl.git
] add DynamicalSystems 

I get a compat issue ERROR: Unsatisfiable requirements detected for package DynamicalSystems

Can anyone reproduce this issue?

Using Julia 1.10.0 .

Datseris commented 6 months ago

can you please show the full compat error message?

Datseris commented 6 months ago

ah doesn't matter. Yes, you can't install yet, I need to bump the Project file in DynamicalSystems and tag a release first.

Datseris commented 6 months ago

Can you try again now?

rusandris commented 6 months ago

Can you try again now?

Hmm, some deps are still causing problems, maybe it's just for me though, not sure.

ERROR: Unsatisfiable requirements detected for package Entropies [ed8fcbec]:
 Entropies [ed8fcbec] log:
 ├─possible versions are: 0.1.0-1.2.1 or uninstalled
 ├─restricted by compatibility requirements with DelayEmbeddings [5732040d] to versions: 1.0.0-1.2.1 or uninstalled
 │ └─DelayEmbeddings [5732040d] log:
 │   ├─possible versions are: 0.1.0-2.7.4 or uninstalled
 │   └─restricted to versions 2.6.0-2 by ComplexityMeasures [ab4b797d], leaving only versions: 2.6.0-2.7.4
 │     └─ComplexityMeasures [ab4b797d] log:
 │       ├─possible versions are: 3.0.0 or uninstalled
 │       └─ComplexityMeasures [ab4b797d] is fixed to version 3.0.0
 ├─restricted by compatibility requirements with Wavelets [29a6e085] to versions: 0.1.0-0.4.0 or uninstalled, leaving only versions: uninstalled
 │ └─Wavelets [29a6e085] log:
 │   ├─possible versions are: 0.7.0-0.10.0 or uninstalled
 │   └─restricted to versions 0.10 by ComplexityMeasures [ab4b797d], leaving only versions: 0.10.0
 │     └─ComplexityMeasures [ab4b797d] log: see above
 └─restricted by compatibility requirements with DynamicalSystems [61744808] to versions: 1.0.0-1.2.1 — no versions left
   └─DynamicalSystems [61744808] log:
     ├─possible versions are: 1.0.0-3.2.4 or uninstalled
     ├─restricted to versions * by an explicit requirement, leaving only versions: 1.0.0-3.2.4
     ├─restricted by compatibility requirements with DelayEmbeddings [5732040d] to versions: [1.0.0, 2.0.0-2.3.0, 3.0.0-3.2.4] or uninstalled, leaving only versions: [1.0.0, 2.0.0-2.3.0, 3.0.0-3.2.4]
     │ └─DelayEmbeddings [5732040d] log: see above
     ├─restricted by compatibility requirements with ComplexityMeasures [ab4b797d] to versions: [1.0.0-2.3.2, 3.2.4] or uninstalled, leaving only versions: [1.0.0, 2.0.0-2.3.0, 3.2.4]
     │ └─ComplexityMeasures [ab4b797d] log: see above
     ├─restricted by compatibility requirements with Reexport [189a3867] to versions: 1.7.2-3.2.4 or uninstalled, leaving only versions: [2.0.0-2.3.0, 3.2.4]
     │ └─Reexport [189a3867] log:
     │   ├─possible versions are: 0.2.0-1.2.2 or uninstalled
     │   └─restricted to versions 1 by ComplexityMeasures [ab4b797d], leaving only versions: 1.0.0-1.2.2
     │     └─ComplexityMeasures [ab4b797d] log: see above
     └─restricted by compatibility requirements with FractalDimensions [4665ce21] to versions: 1.0.0-2.3.2 or uninstalled, leaving only versions: 2.0.0-2.3.0
       └─FractalDimensions [4665ce21] log:
         ├─possible versions are: 0.1.0-1.8.0 or uninstalled
         └─restricted by compatibility requirements with ComplexityMeasures [ab4b797d] to versions: uninstalled
           └─ComplexityMeasures [ab4b797d] log: see above
Datseris commented 6 months ago

Please try at a clean environment. You appear to have incredibly old versions of some dynamical systems packages. Or it could be Wavelets that is messing you up from some other dependency that keeps Wavelets at 0.4.

kahaaga commented 6 months ago

It's weird that you're getting compatibility problems for the Entropies.jl package. This was the name of ComplexityMeasures.jl package long ago. Entropies.jl shouldn't show up at all, so there must be some dependency that's holding everything back.

Can you show the result of calling Pkg.status() in the directory you're working, @rusandris ?

EDIT: yep, try a clean environment, as @Datseris said.

kahaaga commented 6 months ago

I can reproduce this on Julia 1.9. After first installing DynamicalSystems.jl, I get

(@v1.9) pkg> add ComplexityMeasures
   Resolving package versions...
    Updating `~/.julia/environments/v1.9/Project.toml`
⌅ [ab4b797d] + ComplexityMeasures v2.8.0
  No Changes to `~/.julia/environments/v1.9/Manifest.toml`

(@v1.9) pkg> st
Status `~/.julia/environments/v1.9/Project.toml`
⌅ [ab4b797d] ComplexityMeasures v2.8.0
  [61744808] DynamicalSystems v3.2.4
Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated`

(@v1.9) pkg> status --outdated
Status `~/.julia/environments/v1.9/Project.toml`
⌅ [ab4b797d] ComplexityMeasures v2.8.0 (<v3.0.0): FractalDimensions
kahaaga commented 6 months ago

This makes sense, because FractalDimensions uses ComplexityMeasures 2.8. Here's the Project.toml for FractalDimensions:

name = "FractalDimensions"
uuid = "4665ce21-e117-4649-aed8-08bbe5ccbead"
authors = ["George Datseris <datseris.george@gmail.com>", "Ignacio Del Amo <@PythagoreanCult>", "Anton P Braun"]
version = "1.8.0"

[deps]
ComplexityMeasures = "ab4b797d-85ee-42ba-b621-05d793b346a2"
Distances = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7"
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
HypothesisTests = "09f84164-cd44-5f33-b23f-e6b0d136a0d5"
Neighborhood = "645ca80c-8b79-4109-87ea-e1f58159d116"
ProgressMeter = "92933f4c-e287-5a05-a399-4b506db050ca"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
Roots = "f2b01f46-fcfa-551c-844a-d8ac1e96c665"
Scratch = "6c6a2e73-6563-6170-7368-637461726353"
SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b"
StateSpaceSets = "40b095a5-5852-4c12-98c7-d43bf788e795"
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"

[compat]
ComplexityMeasures = "2.8"
Distances = "0.10"
Distributions = "0.24, 0.25"
HypothesisTests = "0.11"
Neighborhood = "0.2.4"
ProgressMeter = "1.5"
Random = "1"
Reexport = "1"
Roots = "1, 2"
Scratch = "1"
SpecialFunctions = "1, 2"
StateSpaceSets = "1"
Statistics = "1"
julia = "1.5"
kahaaga commented 6 months ago

FractalDimension package version must be incremented with a [compat] entry:

[compat]
ComplexityMeasures = "2.8, 3"
Datseris commented 6 months ago

yes correct I submitted a new release now.