Comments (12)
Yes, the url
keyword allows you to refer to any git repository. Also note the rev
keyword is used for the git revision which could be a commit hash, branch, or tag.
from pysr.
Server seems to have updated. Closing.
from pysr.
Unfortunately appearing again for v0.5.10. I have pinned this issue in case some of the Julia servers are out of date - just follow the above commands to get it working.
from pysr.
For the impatient, I would just do the following to get the freshest release.
] add https://github.com/MilesCranmer/SymbolicRegression.jl#master
You can also replace master with a tag or commit hash. For example, you might this instead:
] add https://github.com/MilesCranmer/SymbolicRegression.jl#v0.6.0
from pysr.
Thanks!
I wonder if I should have PySR specify the Manifest.toml
file (which could indicate the git repo) rather than just the Project.toml
(which only indicates the project hash)? Then I suppose this would never be an issue - could just point directly to SymbolicRegression.jl.
from pysr.
If this is meant as a library, I would not include the Manifest.toml.
I typically only include the Manifest.toml for terminal projects that I may want to reproduce exactly.
from pysr.
Oh I meant for the point about including SymbolicRegression.jl based on the git repo URL, rather than the Julia registry. I'm not sure how else to do that, for PySR users, other than to include a fixed Manifest.toml. (is there any way to enforce that in a Project.toml?)
from pysr.
How users install your package is up to them not you, ultimately. For some, they either have to use specific mirrors or proxies for reliable access in their geographic locations. This is the problem that the pkg server protocol solves by providing a way to mirror and verify packages in a distributed and versioned fashion.
Pointing to your specific repository is a secondary option for those who cannot wait for the pkg servers to catch up and who also have reasonable direct access to Github.
So for the kind of package I think you are providing, I would recommend not including the Manifest.toml.
from pysr.
How users install your package is up to them not you, ultimately
This would be true if they were using the Julia API, but for PySR, I think this is only true for a handful of power users who know the julia_project
param. >99% of PySR users have likely never installed a Julia package themselves, since PySR handles the installation of everything under the hood - it's these users I am concerned about over out-of-date registries.
The current approach to version control of Julia packages from within Python is to literally generate Project.toml
in a temp directory, and activate it:
Lines 340 to 358 in 1178fa3
from pysr.
I'm not sure if I'm following why that is necessary. Couldn't you just run this code?
using Pkg
Pkg.activate(; temp=true)
spec = PackageSpec(name = "SymbolicRegression", uuid = "8254be44-1295-4e6a-a16d-46603ac705cb", version = v"0.7.7")
Pkg.add(spec)
from pysr.
Thanks, that definitely looks like a cleaner way to do it! (note I will be running this from PyJulia, not Julia)
Quick question: I found the url
keyword which looks to allow you to specify a GitHub URL. Just to be clear: that would prevent Julia from checking the registry? I think that would finally eliminate this issue of out-of-date registries on user computers.
from pysr.
Starting with v0.7.4, #27 will never be an issue again since SymbolicRegression.jl is downloaded directly from the GitHub repo. Unpinning.
from pysr.
Related Issues (20)
- [BUG]: PyCall.jlwrap error-- dimensional constraint HOT 2
- [BUG]: Dimensional constraint not being applied. HOT 8
- [BUG]: PySR runs well once and then stops after error HOT 1
- [Feature]: Make sympy2torch export functions, not objects
- [BUG]: Installation failed on Windows: failed to clone from SymbolicRegression.jl HOT 2
- [BUG]: Julia interface fails on conda environments HOT 12
- [BUG]: PySR currently incompatible with Python 3.12 HOT 4
- [Feature]: Adding linting to pre-commit hooks HOT 1
- [Feature]: How can I use GPU to accelerate training, like deep learning? HOT 5
- [BUG]: runtime grows to infinity HOT 5
- [Feature]: Self-contained install/user interface HOT 1
- [Feature]: Big Data and partial differential operator
- Understanding accuracy of expressions HOT 5
- Rethinking default behavior for number of iterations
- [Feature]: fixsize HOT 2
- [BUG]: Small typo in documentation HOT 1
- [BUG]: Possible memory leakage & best practices for memory scaling? HOT 5
- [Feature]: Add priori of equation form HOT 1
- [BUG]: PySR can not rediscover X^2 HOT 3
- [Feature]: Composite regressors
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pysr.