numerai-cli 1.1.5__tar.gz → 1.2.0.dev0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. {numerai_cli-1.1.5/numerai_cli.egg-info → numerai_cli-1.2.0.dev0}/PKG-INFO +1 -1
  2. {numerai_cli-1.1.5/numerai/examples/signals-python3 → numerai_cli-1.2.0.dev0/numerai/examples/crypto-python3}/Dockerfile +1 -1
  3. numerai_cli-1.2.0.dev0/numerai/examples/crypto-python3/requirements.txt +6 -0
  4. {numerai_cli-1.1.5/numerai/examples/tournament-python3 → numerai_cli-1.2.0.dev0/numerai/examples/signals-python3}/Dockerfile +1 -1
  5. numerai_cli-1.2.0.dev0/numerai/examples/signals-python3/requirements.txt +6 -0
  6. {numerai_cli-1.1.5/numerai/examples/crypto-python3 → numerai_cli-1.2.0.dev0/numerai/examples/tournament-python3}/Dockerfile +1 -1
  7. numerai_cli-1.2.0.dev0/numerai/examples/tournament-python3/requirements.txt +6 -0
  8. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0/numerai_cli.egg-info}/PKG-INFO +1 -1
  9. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai_cli.egg-info/SOURCES.txt +2 -1
  10. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/setup.py +5 -1
  11. numerai_cli-1.2.0.dev0/tests/test_setup_scripts.py +98 -0
  12. numerai_cli-1.1.5/numerai/examples/crypto-python3/requirements.txt +0 -6
  13. numerai_cli-1.1.5/numerai/examples/signals-python3/requirements.txt +0 -6
  14. numerai_cli-1.1.5/numerai/examples/tournament-python3/requirements.txt +0 -6
  15. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/LICENSE +0 -0
  16. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/MANIFEST.in +0 -0
  17. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/README.md +0 -0
  18. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/__init__.py +0 -0
  19. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/cli/__init__.py +0 -0
  20. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/cli/constants.py +0 -0
  21. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/cli/destroy_all.py +0 -0
  22. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/cli/doctor.py +0 -0
  23. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/cli/misc.py +0 -0
  24. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/cli/node/__init__.py +0 -0
  25. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/cli/node/config.py +0 -0
  26. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/cli/node/deploy.py +0 -0
  27. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/cli/node/destroy.py +0 -0
  28. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/cli/node/test.py +0 -0
  29. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/cli/setup.py +0 -0
  30. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/cli/uninstall.py +0 -0
  31. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/cli/upgrade.py +0 -0
  32. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/cli/util/__init__.py +0 -0
  33. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/cli/util/debug.py +0 -0
  34. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/cli/util/docker.py +0 -0
  35. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/cli/util/files.py +0 -0
  36. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/cli/util/keys.py +0 -0
  37. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/cli/util/terraform.py +0 -0
  38. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/examples/crypto-python3/predict.py +0 -0
  39. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/examples/signals-python3/predict.py +0 -0
  40. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/examples/signals-python3/train.py +0 -0
  41. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/examples/tournament-python3/predict.py +0 -0
  42. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/examples/tournament-python3/train.py +0 -0
  43. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/examples/tournament-rlang/Dockerfile +0 -0
  44. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/examples/tournament-rlang/install_packages.R +0 -0
  45. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/examples/tournament-rlang/main.R +0 -0
  46. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/aws/-inputs.tf +0 -0
  47. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/aws/-main.tf +0 -0
  48. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/aws/-outputs.tf +0 -0
  49. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/aws/aws/-inputs.tf +0 -0
  50. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/aws/aws/-locals.tf +0 -0
  51. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/aws/aws/-outputs.tf +0 -0
  52. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/aws/aws/cluster.tf +0 -0
  53. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/aws/aws/main.zip +0 -0
  54. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/aws/aws/network.tf +0 -0
  55. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/aws/aws/webhook.tf +0 -0
  56. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/azure/azure/cluster.tf +0 -0
  57. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/azure/azure/input.tf +0 -0
  58. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/azure/azure/locals.tf +0 -0
  59. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/azure/azure/outputs.tf +0 -0
  60. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/azure/azure/webhook.tf +0 -0
  61. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/azure/azure_cron_trigger.zip +0 -0
  62. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/azure/azure_trigger.zip +0 -0
  63. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/azure/input.tf +0 -0
  64. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/azure/main.tf +0 -0
  65. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/azure/outputs.tf +0 -0
  66. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/azure/registry.tf +0 -0
  67. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/gcp/-inputs.tf +0 -0
  68. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/gcp/-main.tf +0 -0
  69. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/gcp/-outputs.tf +0 -0
  70. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/gcp/cloud-function.zip +0 -0
  71. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/gcp/gcp/-inputs.tf +0 -0
  72. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/gcp/gcp/-locals.tf +0 -0
  73. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/gcp/gcp/-outputs.tf +0 -0
  74. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/gcp/gcp/cluster.tf +0 -0
  75. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/gcp/gcp/webhook.tf +0 -0
  76. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/gcp/gcp/workflow-source.yaml +0 -0
  77. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/gcp/registry.tf +0 -0
  78. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai/terraform/gcp/services.tf +0 -0
  79. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai_cli.egg-info/dependency_links.txt +0 -0
  80. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai_cli.egg-info/entry_points.txt +0 -0
  81. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai_cli.egg-info/requires.txt +0 -0
  82. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/numerai_cli.egg-info/top_level.txt +0 -0
  83. {numerai_cli-1.1.5 → numerai_cli-1.2.0.dev0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: numerai-cli
3
- Version: 1.1.5
3
+ Version: 1.2.0.dev0
4
4
  Summary: A library for deploying Numer.ai Prediction Nodes.
5
5
  Home-page: https://github.com/numerai/numerai-cli
6
6
  Author: Numer.ai
@@ -1,5 +1,5 @@
1
1
  # Provides us a working Python 3 environment.
2
- FROM python:3.13
2
+ FROM python:3.14
3
3
 
4
4
  # These are docker arguments that `numerai node deploy/test` will always pass into docker.
5
5
  # They are then set in your environment so that numerapi can access them when uploading submissions.
@@ -0,0 +1,6 @@
1
+ numerapi==2.22.0
2
+ pandas==3.0.5
3
+ pyarrow==23.0.1
4
+ joblib==1.5.3
5
+ lightgbm==4.5.0
6
+ scikit-learn==1.8.0
@@ -1,5 +1,5 @@
1
1
  # Provides us a working Python 3 environment.
2
- FROM python:3.13
2
+ FROM python:3.14
3
3
 
4
4
  # These are docker arguments that `numerai node deploy/test` will always pass into docker.
5
5
  # They are then set in your environment so that numerapi can access them when uploading submissions.
@@ -0,0 +1,6 @@
1
+ numerapi==2.22.0
2
+ pandas==3.0.5
3
+ pyarrow==23.0.1
4
+ joblib==1.5.3
5
+ lightgbm==4.5.0
6
+ scikit-learn==1.8.0
@@ -1,5 +1,5 @@
1
1
  # Provides us a working Python 3 environment.
2
- FROM python:3.13
2
+ FROM python:3.14
3
3
 
4
4
  # These are docker arguments that `numerai node deploy/test` will always pass into docker.
5
5
  # They are then set in your environment so that numerapi can access them when uploading submissions.
@@ -0,0 +1,6 @@
1
+ numerapi==2.22.0
2
+ pandas==3.0.5
3
+ pyarrow==23.0.1
4
+ joblib==1.5.3
5
+ lightgbm==4.5.0
6
+ scikit-learn==1.8.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: numerai-cli
3
- Version: 1.1.5
3
+ Version: 1.2.0.dev0
4
4
  Summary: A library for deploying Numer.ai Prediction Nodes.
5
5
  Home-page: https://github.com/numerai/numerai-cli
6
6
  Author: Numer.ai
@@ -74,4 +74,5 @@ numerai_cli.egg-info/SOURCES.txt
74
74
  numerai_cli.egg-info/dependency_links.txt
75
75
  numerai_cli.egg-info/entry_points.txt
76
76
  numerai_cli.egg-info/requires.txt
77
- numerai_cli.egg-info/top_level.txt
77
+ numerai_cli.egg-info/top_level.txt
78
+ tests/test_setup_scripts.py
@@ -1,6 +1,10 @@
1
1
  from setuptools import setup
2
2
  from os import path
3
3
 
4
+ # The release version. See RELEASING.md -- this string is the release, the git
5
+ # tag is only the trigger, and CI refuses to publish if the two disagree.
6
+ numerai_cli_version = "1.2.0.dev0"
7
+
4
8
  # read the contents of the README file
5
9
  this_directory = path.abspath(path.dirname(__file__))
6
10
  with open(path.join(this_directory, "README.md"), encoding="utf-8") as f:
@@ -9,7 +13,7 @@ with open(path.join(this_directory, "README.md"), encoding="utf-8") as f:
9
13
 
10
14
  setup(
11
15
  name="numerai-cli",
12
- version="1.1.5",
16
+ version=numerai_cli_version,
13
17
  description="A library for deploying Numer.ai Prediction Nodes.",
14
18
  url="https://github.com/numerai/numerai-cli",
15
19
  author="Numer.ai",
@@ -0,0 +1,98 @@
1
+ import os
2
+ import subprocess
3
+ import tempfile
4
+ import unittest
5
+ from pathlib import Path
6
+
7
+
8
+ REPOSITORY_ROOT = Path(__file__).resolve().parents[1]
9
+ SCRIPTS_DIRECTORY = REPOSITORY_ROOT / "scripts"
10
+
11
+
12
+ class SetupScriptsTest(unittest.TestCase):
13
+ def test_installers_do_not_reference_python_39(self):
14
+ for script_path in SCRIPTS_DIRECTORY.iterdir():
15
+ if not script_path.is_file():
16
+ continue
17
+ with self.subTest(script=script_path.name):
18
+ self.assertNotIn("3.9", script_path.read_text())
19
+
20
+ def test_macos_installs_python_312(self):
21
+ script = (SCRIPTS_DIRECTORY / "setup-mac.sh").read_text()
22
+
23
+ self.assertIn("Python 3.12.10", script)
24
+ self.assertIn(
25
+ "https://www.python.org/ftp/python/3.12.10/"
26
+ "python-3.12.10-macos11.pkg",
27
+ script,
28
+ )
29
+
30
+ def test_macos_runs_the_python_312_installer_when_python_is_missing(self):
31
+ with tempfile.TemporaryDirectory() as temporary_directory:
32
+ temporary_path = Path(temporary_directory)
33
+ commands_path = temporary_path / "commands"
34
+ commands_path.mkdir()
35
+ command_log = temporary_path / "commands.log"
36
+
37
+ commands = {
38
+ "curl": '#!/bin/bash\nprintf "curl %s\\n" "$*" >> "$COMMAND_LOG"\n',
39
+ "sudo": '#!/bin/bash\nprintf "sudo %s\\n" "$*" >> "$COMMAND_LOG"\n',
40
+ "sw_vers": '#!/bin/bash\necho "13.6.0"\n',
41
+ "which": (
42
+ '#!/bin/bash\nif [[ "$1" == "docker" ]]; then '
43
+ 'echo "/usr/local/bin/docker"; fi\n'
44
+ ),
45
+ }
46
+ for command_name, command in commands.items():
47
+ command_path = commands_path / command_name
48
+ command_path.write_text(command)
49
+ command_path.chmod(0o755)
50
+
51
+ environment = os.environ.copy()
52
+ environment.update(
53
+ {
54
+ "COMMAND_LOG": str(command_log),
55
+ "HOME": str(temporary_path),
56
+ "PATH": str(commands_path),
57
+ }
58
+ )
59
+ subprocess.run(
60
+ ["/bin/bash", SCRIPTS_DIRECTORY / "setup-mac.sh"],
61
+ check=True,
62
+ env=environment,
63
+ capture_output=True,
64
+ text=True,
65
+ )
66
+
67
+ commands_run = command_log.read_text()
68
+ self.assertIn(
69
+ "curl -fL https://www.python.org/ftp/python/3.12.10/"
70
+ "python-3.12.10-macos11.pkg",
71
+ commands_run,
72
+ )
73
+ self.assertIn(
74
+ "sudo installer -pkg "
75
+ f"{temporary_path}/Downloads/python-3.12.10-installer.pkg -target /",
76
+ commands_run,
77
+ )
78
+
79
+ def test_windows_installs_python_312(self):
80
+ script = (SCRIPTS_DIRECTORY / "setup-win10.ps1").read_text()
81
+
82
+ self.assertIn('$pythonVersion = "3.12.10"', script)
83
+ self.assertIn(
84
+ "https://www.python.org/ftp/python/$pythonVersion/"
85
+ "python-$pythonVersion-amd64.exe",
86
+ script,
87
+ )
88
+
89
+ def test_shell_scripts_have_valid_syntax(self):
90
+ for script_name in ("setup-mac.sh", "setup-ubu.sh"):
91
+ with self.subTest(script=script_name):
92
+ subprocess.run(
93
+ ["bash", "-n", SCRIPTS_DIRECTORY / script_name], check=True
94
+ )
95
+
96
+
97
+ if __name__ == "__main__":
98
+ unittest.main()
@@ -1,6 +0,0 @@
1
- numerapi==2.22.0
2
- pandas==2.3.3
3
- pyarrow==18.1.0
4
- joblib==1.5.3
5
- lightgbm==4.5.0
6
- scikit-learn==1.6.1
@@ -1,6 +0,0 @@
1
- numerapi==2.22.0
2
- pandas==2.3.3
3
- pyarrow==18.1.0
4
- joblib==1.5.3
5
- lightgbm==4.5.0
6
- scikit-learn==1.6.1
@@ -1,6 +0,0 @@
1
- numerapi==2.22.0
2
- pandas==2.3.3
3
- pyarrow==18.1.0
4
- joblib==1.5.3
5
- lightgbm==4.5.0
6
- scikit-learn==1.6.1
File without changes
File without changes
File without changes