rcdb 2.1.1__tar.gz → 2.2.2__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 (66) hide show
  1. {rcdb-2.1.1 → rcdb-2.2.2}/MANIFEST.in +0 -0
  2. {rcdb-2.1.1/rcdb.egg-info → rcdb-2.2.2}/PKG-INFO +50 -47
  3. {rcdb-2.1.1 → rcdb-2.2.2}/README.md +6 -3
  4. {rcdb-2.1.1 → rcdb-2.2.2}/pyproject.toml +1 -1
  5. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/__init__.py +0 -1
  6. rcdb-2.2.2/rcdb/__main__.py +7 -0
  7. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/admin_cmd.py +0 -5
  8. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/alias.py +0 -0
  9. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/app_context.py +0 -0
  10. {rcdb-2.1.1/rcdb/rcdb_cli → rcdb-2.2.2/rcdb/cli}/__init__.py +0 -0
  11. rcdb-2.2.2/rcdb/cli/__main__.py +3 -0
  12. {rcdb-2.1.1/rcdb/rcdb_cli → rcdb-2.2.2/rcdb/cli}/app.py +4 -0
  13. {rcdb-2.1.1/rcdb/rcdb_cli → rcdb-2.2.2/rcdb/cli}/context.py +0 -0
  14. {rcdb-2.1.1/rcdb/rcdb_cli → rcdb-2.2.2/rcdb/cli}/db.py +31 -23
  15. {rcdb-2.1.1/rcdb/rcdb_cli → rcdb-2.2.2/rcdb/cli}/ls.py +0 -0
  16. {rcdb-2.1.1/rcdb/rcdb_cli → rcdb-2.2.2/rcdb/cli}/mkdb.py +0 -0
  17. {rcdb-2.1.1/rcdb/rcdb_cli → rcdb-2.2.2/rcdb/cli}/repair/__init__.py +0 -0
  18. {rcdb-2.1.1/rcdb/rcdb_cli → rcdb-2.2.2/rcdb/cli}/repair/evio_files.py +1 -1
  19. {rcdb-2.1.1/rcdb/rcdb_cli → rcdb-2.2.2/rcdb/cli}/rp.py +1 -1
  20. {rcdb-2.1.1/rcdb/rcdb_cli → rcdb-2.2.2/rcdb/cli}/run.py +0 -0
  21. rcdb-2.2.2/rcdb/cli/web.py +27 -0
  22. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/coda_parser.py +0 -0
  23. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/condition_query_builder.py +0 -0
  24. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/config_parser.py +0 -0
  25. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/constants.py +0 -0
  26. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/errors.py +0 -0
  27. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/file_archiver.py +0 -0
  28. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/halld_daq_config_parser.py +0 -0
  29. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/lexer.py +0 -0
  30. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/log_format.py +0 -0
  31. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/model.py +0 -0
  32. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/provider.py +0 -0
  33. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/stopwatch.py +0 -0
  34. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/update.py +0 -0
  35. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/version.py +1 -1
  36. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/web/__init__.py +0 -0
  37. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/web/modules/__init__.py +0 -0
  38. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/web/modules/conditions.py +0 -0
  39. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/web/modules/files.py +0 -0
  40. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/web/modules/logs.py +0 -0
  41. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/web/modules/runs.py +0 -0
  42. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/web/modules/select_values.py +0 -0
  43. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/web/modules/statistics.py +0 -0
  44. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/web/pagination.py +0 -0
  45. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb/web/run_table.py +0 -0
  46. {rcdb-2.1.1 → rcdb-2.2.2/rcdb.egg-info}/PKG-INFO +50 -47
  47. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb.egg-info/SOURCES.txt +12 -11
  48. rcdb-2.2.2/rcdb.egg-info/entry_points.txt +2 -0
  49. {rcdb-2.1.1 → rcdb-2.2.2}/setup.cfg +4 -4
  50. {rcdb-2.1.1 → rcdb-2.2.2}/tests/test_coda_parser.py +0 -0
  51. {rcdb-2.1.1 → rcdb-2.2.2}/tests/test_conditions.py +0 -0
  52. {rcdb-2.1.1 → rcdb-2.2.2}/tests/test_config_parser.py +0 -0
  53. {rcdb-2.1.1 → rcdb-2.2.2}/tests/test_get_run_periods.py +0 -0
  54. {rcdb-2.1.1 → rcdb-2.2.2}/tests/test_get_runs.py +0 -0
  55. {rcdb-2.1.1 → rcdb-2.2.2}/tests/test_halld_run_config_parser.py +0 -0
  56. {rcdb-2.1.1 → rcdb-2.2.2}/tests/test_save_files.py +0 -0
  57. {rcdb-2.1.1 → rcdb-2.2.2}/tests/test_select_runs.py +0 -0
  58. {rcdb-2.1.1 → rcdb-2.2.2}/tests/test_select_values.py +0 -0
  59. {rcdb-2.1.1 → rcdb-2.2.2}/tests/test_sql_schema_version.py +0 -0
  60. {rcdb-2.1.1 → rcdb-2.2.2}/tests/test_value_comparison.py +0 -0
  61. rcdb-2.1.1/rcdb/__main__.py +0 -3
  62. rcdb-2.1.1/rcdb/rcdb_cli/__main__.py +0 -3
  63. rcdb-2.1.1/rcdb.egg-info/entry_points.txt +0 -2
  64. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb.egg-info/dependency_links.txt +0 -0
  65. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb.egg-info/requires.txt +0 -0
  66. {rcdb-2.1.1 → rcdb-2.2.2}/rcdb.egg-info/top_level.txt +0 -0
File without changes
@@ -1,47 +1,50 @@
1
- Metadata-Version: 2.2
2
- Name: rcdb
3
- Version: 2.1.1
4
- Summary: RCDB - Run Conditions DataBase
5
- Author-email: Dmitry Romanov <romanov@jlab.org>
6
- License: MIT
7
- Classifier: Development Status :: 4 - Beta
8
- Classifier: License :: OSI Approved :: MIT License
9
- Classifier: Programming Language :: Python :: 3
10
- Classifier: Programming Language :: Python :: 3.9
11
- Classifier: Programming Language :: Python :: 3.10
12
- Classifier: Programming Language :: Python :: 3.11
13
- Classifier: Programming Language :: Python :: 3.12
14
- Classifier: Programming Language :: Python :: 3.13
15
- Requires-Python: >=3.9
16
- Description-Content-Type: text/markdown
17
- Requires-Dist: markupsafe>=3.0
18
- Requires-Dist: pymysql>=1.1
19
- Requires-Dist: ply>=3.11
20
- Requires-Dist: mako>=1.3
21
- Requires-Dist: click>=8
22
- Requires-Dist: sqlalchemy>=2
23
- Requires-Dist: flask>=3.1.0
24
-
25
- ## RCDB
26
-
27
- ![Python tests](https://github.com/JeffersonLab/rcdb/actions/workflows/python-tests.yml/badge.svg)
28
-
29
- Run Configuration/Conditions Database (RCDB) stores run related information and conditions. It uses MySQL or SQLite databases to store information about runs and provides interfaces to search runs, manage data, automatic CODA integration, etc.
30
-
31
- The interfaces available are:
32
- - Web site
33
- - Command line interface (CLI)
34
- - Python API
35
- - C++ API
36
- - Possibly JAVA API
37
-
38
- #### Documentation:
39
- https://github.com/JeffersonLab/rcdb/wiki
40
-
41
- #### Web site:
42
- One can visit HallD RCDB Web site as demo:
43
- https://halldweb.jlab.org/rcdb/
44
-
45
- #### SQLite db:
46
- Daily updated SQLite database is available here:
47
- https://halldweb.jlab.org/dist/rcdb.sqlite
1
+ Metadata-Version: 2.4
2
+ Name: rcdb
3
+ Version: 2.2.2
4
+ Summary: RCDB - Run Conditions DataBase
5
+ Author-email: Dmitry Romanov <romanov@jlab.org>
6
+ License: MIT
7
+ Classifier: Development Status :: 4 - Beta
8
+ Classifier: License :: OSI Approved :: MIT License
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: Programming Language :: Python :: 3.9
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Requires-Python: >=3.9
16
+ Description-Content-Type: text/markdown
17
+ Requires-Dist: markupsafe>=3.0
18
+ Requires-Dist: pymysql>=1.1
19
+ Requires-Dist: ply>=3.11
20
+ Requires-Dist: mako>=1.3
21
+ Requires-Dist: click>=8
22
+ Requires-Dist: sqlalchemy>=2
23
+ Requires-Dist: flask>=3.1.0
24
+
25
+ ## RCDB
26
+
27
+ ![Python tests](https://github.com/JeffersonLab/rcdb/actions/workflows/python-tests.yml/badge.svg)
28
+ [![Python examples work](https://github.com/JeffersonLab/rcdb/actions/workflows/python-examples.yml/badge.svg)](https://github.com/JeffersonLab/rcdb/actions/workflows/python-examples.yml)
29
+
30
+ Run Configuration/Conditions Database (RCDB) stores run related information and conditions. It uses MySQL or SQLite databases to store information about runs and provides interfaces to search runs, manage data, automatic CODA integration, etc.
31
+
32
+ The interfaces available are:
33
+ - Web site
34
+ - Command line interface (CLI)
35
+ - Python API
36
+ - C++ API
37
+ - Possibly JAVA API
38
+
39
+ #### Documentation:
40
+
41
+ https://jeffersonlab.github.io/rcdb/
42
+
43
+ #### Demo website:
44
+ One can visit HallD RCDB Web site as demo:
45
+ https://halldweb.jlab.org/rcdb/
46
+
47
+
48
+ #### SQLite db:
49
+ Daily updated SQLite database is available here:
50
+ https://halldweb.jlab.org/dist/rcdb2.sqlite
@@ -1,6 +1,7 @@
1
1
  ## RCDB
2
2
 
3
3
  ![Python tests](https://github.com/JeffersonLab/rcdb/actions/workflows/python-tests.yml/badge.svg)
4
+ [![Python examples work](https://github.com/JeffersonLab/rcdb/actions/workflows/python-examples.yml/badge.svg)](https://github.com/JeffersonLab/rcdb/actions/workflows/python-examples.yml)
4
5
 
5
6
  Run Configuration/Conditions Database (RCDB) stores run related information and conditions. It uses MySQL or SQLite databases to store information about runs and provides interfaces to search runs, manage data, automatic CODA integration, etc.
6
7
 
@@ -12,12 +13,14 @@ The interfaces available are:
12
13
  - Possibly JAVA API
13
14
 
14
15
  #### Documentation:
15
- https://github.com/JeffersonLab/rcdb/wiki
16
16
 
17
- #### Web site:
17
+ https://jeffersonlab.github.io/rcdb/
18
+
19
+ #### Demo website:
18
20
  One can visit HallD RCDB Web site as demo:
19
21
  https://halldweb.jlab.org/rcdb/
20
22
 
23
+
21
24
  #### SQLite db:
22
25
  Daily updated SQLite database is available here:
23
- https://halldweb.jlab.org/dist/rcdb.sqlite
26
+ https://halldweb.jlab.org/dist/rcdb2.sqlite
@@ -41,7 +41,7 @@ dependencies = [
41
41
 
42
42
  # If you want a console script, define it in [project.scripts]
43
43
  [project.scripts]
44
- rcdb = "rcdb:run_rcdb_cli"
44
+ rcdb = "rcdb"
45
45
 
46
46
  # Tell setuptools how to find your packages if needed:
47
47
  [tool.setuptools.packages.find]
@@ -1,7 +1,6 @@
1
1
  from .model import ConditionType
2
2
  from .provider import RCDBProvider
3
3
  from .provider import ConfigurationProvider
4
- from .rcdb_cli.app import rcdb_cli as run_rcdb_cli
5
4
  from .errors import *
6
5
 
7
6
  # This thing separates cells in data blob
@@ -0,0 +1,7 @@
1
+ # This is the same as rcdb.cli.api:rcdb_cli
2
+ # The logic to have it here, is that if one uses:
3
+ # python -m rcdb - it works like 'rcdb' command
4
+
5
+ from rcdb.cli.app import rcdb_cli
6
+
7
+ rcdb_cli(prog_name="rcdb")
@@ -79,10 +79,5 @@ def ls(context, search, is_long):
79
79
  click.echo("{0:<{1}} {2}".format(name, longest_len, cnd_type.description))
80
80
 
81
81
 
82
-
83
-
84
-
85
-
86
-
87
82
  if __name__ == '__main__':
88
83
  cli(prog_name="rcdb")
File without changes
File without changes
@@ -0,0 +1,3 @@
1
+ from rcdb.cli.app import rcdb_cli
2
+
3
+ rcdb_cli(prog_name="rcdb")
@@ -12,6 +12,7 @@ from .ls import ls as ls_cmd
12
12
  from .repair import repair as repair_grp
13
13
  from .db import db as db_grp
14
14
  from .rp import rp as rp_grp
15
+ from .web import web as web_cmd
15
16
 
16
17
 
17
18
  pass_rcdb_context = click.make_pass_decorator(RcdbApplicationContext)
@@ -72,6 +73,9 @@ rcdb_cli.add_command(db_grp)
72
73
  # noinspection PyTypeChecker
73
74
  rcdb_cli.add_command(rp_grp)
74
75
 
76
+ # Add 'web' group of commands
77
+ # noinspection PyTypeChecker
78
+ rcdb_cli.add_command(web_cmd)
75
79
 
76
80
 
77
81
  @rcdb_cli.command()
@@ -6,7 +6,7 @@ from sqlalchemy.exc import OperationalError
6
6
  import rcdb
7
7
  from rcdb import RCDBProvider
8
8
  from rcdb.model import SchemaVersion, Alias, RunPeriod
9
- from rcdb.rcdb_cli.context import pass_rcdb_context
9
+ from rcdb.cli.context import pass_rcdb_context
10
10
  from rcdb.provider import stamp_schema_version
11
11
 
12
12
 
@@ -29,7 +29,6 @@ def db(ctx):
29
29
  print("Schema version: {} - '{}'".format(schema_version.version, schema_version.comment))
30
30
 
31
31
 
32
- # add a command to the 'db' group
33
32
  @db.command()
34
33
  @pass_rcdb_context
35
34
  def update(context):
@@ -37,14 +36,14 @@ def update(context):
37
36
 
38
37
  # Check something exists
39
38
  if not sqlalchemy.inspect(provider.engine).has_table(SchemaVersion.__tablename__):
40
- print('The schema version table does not exists. It looks like RCDB v1.')
39
+ print('The schema version table does not exist. It looks like RCDB v1.')
41
40
  current_version = 1
42
41
  else:
43
42
  print('Found schema version table')
44
43
  # Check schema version
45
44
  current_version = provider.get_schema_version()
46
45
 
47
- if current_version !=1:
46
+ if current_version != 1:
48
47
  print(f"Can't update schema version. Current version is: {current_version.version}. This command can update:")
49
48
  print(f" DB v1 --> v2")
50
49
  return
@@ -62,8 +61,6 @@ def update(context):
62
61
  if not click.confirm('Do you really want to continue?'):
63
62
  return
64
63
 
65
- # TODO move next it to provider, create schema_update_v1_v2 function !!!
66
-
67
64
  # That we will need for DB
68
65
  metadata = rcdb.model.Base.metadata
69
66
  provider = RCDBProvider(context.connection_str, check_version=False)
@@ -74,21 +71,31 @@ def update(context):
74
71
  # Create run periods table
75
72
  RunPeriod.__table__.create(provider.engine)
76
73
 
77
- with provider.engine.connect() as conn:
78
- conn.execute("""
79
- DROP TABLE IF EXISTS `trigger_thresholds` ;
80
- DROP TABLE IF EXISTS `trigger_masks` ;
81
- DROP TABLE IF EXISTS `readout_thresholds` ;
82
- DROP TABLE IF EXISTS `readout_masks` ;
83
- DROP TABLE IF EXISTS `dac_presets` ;
84
- DROP TABLE IF EXISTS `crates` ;
85
- DROP TABLE IF EXISTS `boards` ;
86
- DROP TABLE IF EXISTS `board_installations_have_runs` ;
87
- DROP TABLE IF EXISTS `board_installations` ;
88
- DROP TABLE IF EXISTS `board_configurations_have_runs` ;
89
- DROP TABLE IF EXISTS `board_configurations` ;
90
- DROP TABLE IF EXISTS `alembic_version` ;
91
- """)
74
+ # List of old tables to drop
75
+ tables_to_drop = [
76
+ 'trigger_thresholds',
77
+ 'trigger_masks',
78
+ 'readout_thresholds',
79
+ 'readout_masks',
80
+ 'dac_presets',
81
+ 'crates',
82
+ 'boards',
83
+ 'board_installations_have_runs',
84
+ 'board_installations',
85
+ 'board_configurations_have_runs',
86
+ 'board_configurations',
87
+ 'alembic_version'
88
+ ]
89
+
90
+ with provider.engine.begin() as conn:
91
+ inspector = sqlalchemy.inspect(conn)
92
+ existing_tables = inspector.get_table_names()
93
+
94
+ # Drop each table if it is present
95
+ for t in tables_to_drop:
96
+ if t in existing_tables:
97
+ print(f"Dropping table '{t}'")
98
+ conn.execute(sqlalchemy.text(f"DROP TABLE {t}"))
92
99
 
93
100
  # Set correct version
94
101
  version = stamp_schema_version(provider)
@@ -98,8 +105,9 @@ def update(context):
98
105
  @db.command()
99
106
  @click.option('--no-defaults', is_flag=True, help="Don't create default condition types")
100
107
  @click.option('--drop-all', is_flag=True, help='Drops existing RCDB data if exists')
108
+ @click.option('--confirm', is_flag=True, help='For CI automation and tests')
101
109
  @pass_rcdb_context
102
- def init(context, drop_all, no_defaults):
110
+ def init(context, drop_all, no_defaults, confirm):
103
111
  """Database management commands."""
104
112
 
105
113
  # PRINTOUT PART
@@ -112,7 +120,7 @@ def init(context, drop_all, no_defaults):
112
120
  print("\nDB: {}\n".format(context.connection_str))
113
121
 
114
122
  # Double check user knows what will happen
115
- if not click.confirm('Do you really want to continue?'):
123
+ if not confirm and not click.confirm('Do you really want to continue?'):
116
124
  return
117
125
 
118
126
  # That we will need for DB
File without changes
@@ -5,7 +5,7 @@ import click
5
5
  import glob
6
6
  from rcdb.app_context import minmax_run_range, parse_run_range
7
7
  from rcdb.provider import RCDBProvider
8
- from rcdb.rcdb_cli.context import pass_rcdb_context
8
+ from rcdb.cli.context import pass_rcdb_context
9
9
  import json
10
10
 
11
11
  def sizeof_fmt(num, suffix="B"):
@@ -7,7 +7,7 @@ from sqlalchemy.exc import OperationalError
7
7
  import rcdb
8
8
  from rcdb import RCDBProvider
9
9
  from rcdb.model import RunPeriod
10
- from rcdb.rcdb_cli.context import pass_rcdb_context
10
+ from rcdb.cli.context import pass_rcdb_context
11
11
 
12
12
  @click.group(invoke_without_command=True)
13
13
  @click.pass_context
File without changes
@@ -0,0 +1,27 @@
1
+ import os
2
+ import click
3
+
4
+ from rcdb import web as rcdb_web
5
+ from .context import pass_rcdb_context
6
+
7
+
8
+ @click.command("web")
9
+ @pass_rcdb_context
10
+ def web(context):
11
+ """
12
+ Runs the local RCDB web application using the connection string from
13
+ either the CLI context or the RCDB_CONNECTION environment variable.
14
+ """
15
+ # If user provided --connection on the CLI, context.db.connection_str is set:
16
+ if context.db and context.db.connect_str:
17
+ rcdb_web.app.config["SQL_CONNECTION_STRING"] = context.db.connect_str
18
+ elif "RCDB_CONNECTION" in os.environ:
19
+ # Otherwise check the environment variable
20
+ rcdb_web.app.config["SQL_CONNECTION_STRING"] = os.environ["RCDB_CONNECTION"]
21
+ else:
22
+ # If neither is present, show an error and exit
23
+ click.echo("ERROR: no connection string found. Provide via CLI or RCDB_CONNECTION env variable.")
24
+ raise SystemExit(1)
25
+
26
+ # Start the Flask dev server
27
+ rcdb_web.app.run()
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,5 +1,5 @@
1
1
  # String version. Used both for setup.py and for internal code
2
- version = '2.1.1'
2
+ version = '2.2.2'
3
3
 
4
4
  # version as the tuple of ints
5
5
  version_tuple = tuple(int(val) for val in version.split('.'))
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,47 +1,50 @@
1
- Metadata-Version: 2.2
2
- Name: rcdb
3
- Version: 2.1.1
4
- Summary: RCDB - Run Conditions DataBase
5
- Author-email: Dmitry Romanov <romanov@jlab.org>
6
- License: MIT
7
- Classifier: Development Status :: 4 - Beta
8
- Classifier: License :: OSI Approved :: MIT License
9
- Classifier: Programming Language :: Python :: 3
10
- Classifier: Programming Language :: Python :: 3.9
11
- Classifier: Programming Language :: Python :: 3.10
12
- Classifier: Programming Language :: Python :: 3.11
13
- Classifier: Programming Language :: Python :: 3.12
14
- Classifier: Programming Language :: Python :: 3.13
15
- Requires-Python: >=3.9
16
- Description-Content-Type: text/markdown
17
- Requires-Dist: markupsafe>=3.0
18
- Requires-Dist: pymysql>=1.1
19
- Requires-Dist: ply>=3.11
20
- Requires-Dist: mako>=1.3
21
- Requires-Dist: click>=8
22
- Requires-Dist: sqlalchemy>=2
23
- Requires-Dist: flask>=3.1.0
24
-
25
- ## RCDB
26
-
27
- ![Python tests](https://github.com/JeffersonLab/rcdb/actions/workflows/python-tests.yml/badge.svg)
28
-
29
- Run Configuration/Conditions Database (RCDB) stores run related information and conditions. It uses MySQL or SQLite databases to store information about runs and provides interfaces to search runs, manage data, automatic CODA integration, etc.
30
-
31
- The interfaces available are:
32
- - Web site
33
- - Command line interface (CLI)
34
- - Python API
35
- - C++ API
36
- - Possibly JAVA API
37
-
38
- #### Documentation:
39
- https://github.com/JeffersonLab/rcdb/wiki
40
-
41
- #### Web site:
42
- One can visit HallD RCDB Web site as demo:
43
- https://halldweb.jlab.org/rcdb/
44
-
45
- #### SQLite db:
46
- Daily updated SQLite database is available here:
47
- https://halldweb.jlab.org/dist/rcdb.sqlite
1
+ Metadata-Version: 2.4
2
+ Name: rcdb
3
+ Version: 2.2.2
4
+ Summary: RCDB - Run Conditions DataBase
5
+ Author-email: Dmitry Romanov <romanov@jlab.org>
6
+ License: MIT
7
+ Classifier: Development Status :: 4 - Beta
8
+ Classifier: License :: OSI Approved :: MIT License
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: Programming Language :: Python :: 3.9
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Requires-Python: >=3.9
16
+ Description-Content-Type: text/markdown
17
+ Requires-Dist: markupsafe>=3.0
18
+ Requires-Dist: pymysql>=1.1
19
+ Requires-Dist: ply>=3.11
20
+ Requires-Dist: mako>=1.3
21
+ Requires-Dist: click>=8
22
+ Requires-Dist: sqlalchemy>=2
23
+ Requires-Dist: flask>=3.1.0
24
+
25
+ ## RCDB
26
+
27
+ ![Python tests](https://github.com/JeffersonLab/rcdb/actions/workflows/python-tests.yml/badge.svg)
28
+ [![Python examples work](https://github.com/JeffersonLab/rcdb/actions/workflows/python-examples.yml/badge.svg)](https://github.com/JeffersonLab/rcdb/actions/workflows/python-examples.yml)
29
+
30
+ Run Configuration/Conditions Database (RCDB) stores run related information and conditions. It uses MySQL or SQLite databases to store information about runs and provides interfaces to search runs, manage data, automatic CODA integration, etc.
31
+
32
+ The interfaces available are:
33
+ - Web site
34
+ - Command line interface (CLI)
35
+ - Python API
36
+ - C++ API
37
+ - Possibly JAVA API
38
+
39
+ #### Documentation:
40
+
41
+ https://jeffersonlab.github.io/rcdb/
42
+
43
+ #### Demo website:
44
+ One can visit HallD RCDB Web site as demo:
45
+ https://halldweb.jlab.org/rcdb/
46
+
47
+
48
+ #### SQLite db:
49
+ Daily updated SQLite database is available here:
50
+ https://halldweb.jlab.org/dist/rcdb2.sqlite
@@ -27,17 +27,18 @@ rcdb.egg-info/dependency_links.txt
27
27
  rcdb.egg-info/entry_points.txt
28
28
  rcdb.egg-info/requires.txt
29
29
  rcdb.egg-info/top_level.txt
30
- rcdb/rcdb_cli/__init__.py
31
- rcdb/rcdb_cli/__main__.py
32
- rcdb/rcdb_cli/app.py
33
- rcdb/rcdb_cli/context.py
34
- rcdb/rcdb_cli/db.py
35
- rcdb/rcdb_cli/ls.py
36
- rcdb/rcdb_cli/mkdb.py
37
- rcdb/rcdb_cli/rp.py
38
- rcdb/rcdb_cli/run.py
39
- rcdb/rcdb_cli/repair/__init__.py
40
- rcdb/rcdb_cli/repair/evio_files.py
30
+ rcdb/cli/__init__.py
31
+ rcdb/cli/__main__.py
32
+ rcdb/cli/app.py
33
+ rcdb/cli/context.py
34
+ rcdb/cli/db.py
35
+ rcdb/cli/ls.py
36
+ rcdb/cli/mkdb.py
37
+ rcdb/cli/rp.py
38
+ rcdb/cli/run.py
39
+ rcdb/cli/web.py
40
+ rcdb/cli/repair/__init__.py
41
+ rcdb/cli/repair/evio_files.py
41
42
  rcdb/web/__init__.py
42
43
  rcdb/web/pagination.py
43
44
  rcdb/web/run_table.py
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ rcdb = rcdb
@@ -1,4 +1,4 @@
1
- [egg_info]
2
- tag_build =
3
- tag_date = 0
4
-
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,3 +0,0 @@
1
- from rcdb.rcdb_cli.app import rcdb_cli
2
-
3
- rcdb_cli()
@@ -1,3 +0,0 @@
1
- from rcdb.rcdb_cli.app import rcdb_cli
2
-
3
- rcdb_cli(prog_name="rcdb")
@@ -1,2 +0,0 @@
1
- [console_scripts]
2
- rcdb = rcdb:run_rcdb_cli
File without changes
File without changes