MilesCranmer commited on
Commit
a8bf212
1 Parent(s): 4f133b3

Automatically update Julia packages

Browse files
Files changed (2) hide show
  1. pysr/sr.py +8 -3
  2. setup.py +1 -1
pysr/sr.py CHANGED
@@ -102,7 +102,8 @@ def pysr(X=None, y=None, weights=None,
102
  delete_tempfiles=True,
103
  julia_optimization=3,
104
  julia_project=None,
105
- user_input=True
 
106
  ):
107
  """Run symbolic regression to fit f(X[i, :]) ~ y[i] for all i.
108
  Note: most default parameters have been tuned over several example
@@ -240,7 +241,7 @@ def pysr(X=None, y=None, weights=None,
240
  fractionReplaced=fractionReplaced,
241
  ncyclesperiteration=ncyclesperiteration,
242
  niterations=niterations, npop=npop,
243
- topn=topn, verbosity=verbosity,
244
  julia_optimization=julia_optimization, timeout=timeout,
245
  fractionReplacedHof=fractionReplacedHof,
246
  hofMigration=hofMigration, maxdepth=maxdepth,
@@ -271,6 +272,7 @@ def pysr(X=None, y=None, weights=None,
271
  kwargs['need_install'] = (not user_input) or _yesno("I will install Julia packages using PySR's Project.toml file. OK?")
272
  if kwargs['need_install']:
273
  print("OK. I will install at launch.")
 
274
 
275
  kwargs['def_hyperparams'] = _create_inline_operators(**kwargs)
276
 
@@ -328,7 +330,7 @@ def _cmd_runner(command):
328
  def _create_julia_files(dataset_filename, def_datasets, hyperparam_filename, def_hyperparams,
329
  fractionReplaced, ncyclesperiteration, niterations, npop,
330
  runfile_filename, topn, verbosity, julia_project, procs, weights,
331
- X, variable_names, pkg_directory, need_install, **kwargs):
332
  with open(hyperparam_filename, 'w') as f:
333
  print(def_hyperparams, file=f)
334
  with open(dataset_filename, 'w') as f:
@@ -342,7 +344,10 @@ def _create_julia_files(dataset_filename, def_datasets, hyperparam_filename, de
342
  print(f'Pkg.activate("{_escape_filename(julia_project)}")', file=f)
343
  if need_install:
344
  print(f'Pkg.instantiate()', file=f)
 
345
  print(f'Pkg.precompile()', file=f)
 
 
346
  print(f'using SymbolicRegression', file=f)
347
  print(f'include("{_escape_filename(hyperparam_filename)}")', file=f)
348
  print(f'include("{_escape_filename(dataset_filename)}")', file=f)
 
102
  delete_tempfiles=True,
103
  julia_optimization=3,
104
  julia_project=None,
105
+ user_input=True,
106
+ update=True
107
  ):
108
  """Run symbolic regression to fit f(X[i, :]) ~ y[i] for all i.
109
  Note: most default parameters have been tuned over several example
 
241
  fractionReplaced=fractionReplaced,
242
  ncyclesperiteration=ncyclesperiteration,
243
  niterations=niterations, npop=npop,
244
+ topn=topn, verbosity=verbosity, update=update,
245
  julia_optimization=julia_optimization, timeout=timeout,
246
  fractionReplacedHof=fractionReplacedHof,
247
  hofMigration=hofMigration, maxdepth=maxdepth,
 
272
  kwargs['need_install'] = (not user_input) or _yesno("I will install Julia packages using PySR's Project.toml file. OK?")
273
  if kwargs['need_install']:
274
  print("OK. I will install at launch.")
275
+ assert update
276
 
277
  kwargs['def_hyperparams'] = _create_inline_operators(**kwargs)
278
 
 
330
  def _create_julia_files(dataset_filename, def_datasets, hyperparam_filename, def_hyperparams,
331
  fractionReplaced, ncyclesperiteration, niterations, npop,
332
  runfile_filename, topn, verbosity, julia_project, procs, weights,
333
+ X, variable_names, pkg_directory, need_install, update, **kwargs):
334
  with open(hyperparam_filename, 'w') as f:
335
  print(def_hyperparams, file=f)
336
  with open(dataset_filename, 'w') as f:
 
344
  print(f'Pkg.activate("{_escape_filename(julia_project)}")', file=f)
345
  if need_install:
346
  print(f'Pkg.instantiate()', file=f)
347
+ print(f'Pkg.update()', file=f)
348
  print(f'Pkg.precompile()', file=f)
349
+ elif update:
350
+ print(f'Pkg.update()', file=f)
351
  print(f'using SymbolicRegression', file=f)
352
  print(f'include("{_escape_filename(hyperparam_filename)}")', file=f)
353
  print(f'include("{_escape_filename(dataset_filename)}")', file=f)
setup.py CHANGED
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
5
 
6
  setuptools.setup(
7
  name="pysr", # Replace with your own username
8
- version="0.4.2-1",
9
  author="Miles Cranmer",
10
  author_email="miles.cranmer@gmail.com",
11
  description="Simple and efficient symbolic regression",
 
5
 
6
  setuptools.setup(
7
  name="pysr", # Replace with your own username
8
+ version="0.4.4",
9
  author="Miles Cranmer",
10
  author_email="miles.cranmer@gmail.com",
11
  description="Simple and efficient symbolic regression",