diff --git a/.bazeliskrc b/.bazeliskrc new file mode 100644 index 0000000..afe0b46 --- /dev/null +++ b/.bazeliskrc @@ -0,0 +1 @@ +USE_BAZEL_VERSION=6.2.0 diff --git a/.bazelrc b/.bazelrc index 5f30ba4..b646275 100644 --- a/.bazelrc +++ b/.bazelrc @@ -1,9 +1,4 @@ -common --curses=auto -common --show_timestamps=true - -test --keep_going test --test_output=errors -test --test_tag_filters=-known-to-fail # To enable flake8 on all build steps, uncomment this - # test --aspects="//tools/flake8:flake8.bzl%flake8_aspect" --output_groups=flake8_checks diff --git a/.bazelversion b/.bazelversion deleted file mode 100644 index 66ce77b..0000000 --- a/.bazelversion +++ /dev/null @@ -1 +0,0 @@ -7.0.0 diff --git a/.envrc b/.envrc deleted file mode 100644 index c589014..0000000 --- a/.envrc +++ /dev/null @@ -1,2 +0,0 @@ -export SOURCE=$(dirname $(realpath $0)) -export PATH="${SOURCE}/bin:$PATH" diff --git a/.gitignore b/.gitignore index 66817fe..f38a91e 100644 --- a/.gitignore +++ b/.gitignore @@ -24,4 +24,3 @@ tmp/ /**/*.sqlite* /**/config*.toml /**/config*.yml -MODULE.bazel.lock diff --git a/BUILD.bazel b/BUILD similarity index 100% rename from BUILD.bazel rename to BUILD diff --git a/MODULE.bazel b/MODULE.bazel deleted file mode 100644 index 00bb183..0000000 --- a/MODULE.bazel +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################### -# Bazel now uses Bzlmod by default to manage external dependencies. -# Please consider migrating your external dependencies from WORKSPACE to MODULE.bazel. -# -# For more details, please check https://github.com/bazelbuild/bazel/issues/18958 -############################################################################### diff --git a/WORKSPACE b/WORKSPACE index 910f51c..0528d59 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -62,14 +62,76 @@ load("@arrdem_source_pypi//:requirements.bzl", "install_deps") # Call it to define repos for your requirements. install_deps() -# git_repository( -# name = "rules_zapp", -# remote = "https://git.arrdem.com/arrdem/rules_zapp.git", -# commit = "961be891e5cff539e14f2050d5cd9e82845ce0f2", -# # tag = "0.1.2", +git_repository( + name = "rules_zapp", + remote = "https://git.arrdem.com/arrdem/rules_zapp.git", + commit = "961be891e5cff539e14f2050d5cd9e82845ce0f2", + # tag = "0.1.2", +) + +# local_repository( +# name = "rules_zapp", +# path = "/home/arrdem/Documents/hobby/programming/lang/python/rules_zapp", # ) -local_repository( - name = "rules_zapp", - path = "/home/arrdem/Documents/hobby/programming/lang/python/rules_zapp", +#################################################################################################### +# Docker support +#################################################################################################### + +http_archive( + name = "io_bazel_rules_docker", + sha256 = "b1e80761a8a8243d03ebca8845e9cc1ba6c82ce7c5179ce2b295cd36f7e394bf", + urls = ["https://github.com/bazelbuild/rules_docker/releases/download/v0.25.0/rules_docker-v0.25.0.tar.gz"], +) + +load("@io_bazel_rules_docker//toolchains/docker:toolchain.bzl", + docker_toolchain_configure="toolchain_configure" +) + +docker_toolchain_configure( + name = "docker_config", + docker_flags = [ + ], +) + +load( + "@io_bazel_rules_docker//repositories:repositories.bzl", + container_repositories = "repositories", +) +container_repositories() + +load( + "@io_bazel_rules_docker//repositories:deps.bzl", + container_deps = "deps" +) + +container_deps() + +load( + "@io_bazel_rules_docker//container:container.bzl", + "container_pull", +) + +# container_pull( +# name = "python_base", +# registry = "index.docker.io", +# repository = "library/python", +# tag = "3.10.8-alpine" +# # sha256 = "digest:d78a749034380426dd6cec6a0db139459ca701630533ffce112adbcdd996fddd", +# ) + +# container_pull( +# name = "python_base", +# registry = "gcr.io", +# repository = "distroless/python3-debian11", +# tag = "latest" +# # sha256 = "digest:d78a749034380426dd6cec6a0db139459ca701630533ffce112adbcdd996fddd", +# ) + +container_pull( + name = "python_base", + registry = "index.docker.io", + repository = "library/python", + tag = "3.11-buster" + # sha256 = "digest:d78a749034380426dd6cec6a0db139459ca701630533ffce112adbcdd996fddd", ) diff --git a/bin/bazel b/bin/bazel deleted file mode 100755 index 40517be..0000000 --- a/bin/bazel +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -exec "${SOURCE}/projects/bazelshim/src/bazelshim/__main__.py" --bazelshim_exclude="$(realpath "${SOURCE}")/bin" "$@" diff --git a/bin/bazelisk b/bin/bazelisk deleted file mode 100755 index 40517be..0000000 --- a/bin/bazelisk +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -exec "${SOURCE}/projects/bazelshim/src/bazelshim/__main__.py" --bazelshim_exclude="$(realpath "${SOURCE}")/bin" "$@" diff --git a/projects/activitypub_relay/BUILD.bazel b/projects/activitypub_relay/BUILD similarity index 90% rename from projects/activitypub_relay/BUILD.bazel rename to projects/activitypub_relay/BUILD index bc5205a..2996201 100644 --- a/projects/activitypub_relay/BUILD.bazel +++ b/projects/activitypub_relay/BUILD @@ -10,6 +10,6 @@ py_project( py_requirement("pyyaml"), py_requirement("retry"), ], - main = "src/relay/__main__.py", + main = "src/python/relay/__main__.py", shebang = "/usr/bin/env python3" ) diff --git a/projects/activitypub_relay/src/relay/__init__.py b/projects/activitypub_relay/src/python/relay/__init__.py similarity index 100% rename from projects/activitypub_relay/src/relay/__init__.py rename to projects/activitypub_relay/src/python/relay/__init__.py diff --git a/projects/activitypub_relay/src/relay/__main__.py b/projects/activitypub_relay/src/python/relay/__main__.py similarity index 100% rename from projects/activitypub_relay/src/relay/__main__.py rename to projects/activitypub_relay/src/python/relay/__main__.py diff --git a/projects/activitypub_relay/src/relay/application.py b/projects/activitypub_relay/src/python/relay/application.py similarity index 100% rename from projects/activitypub_relay/src/relay/application.py rename to projects/activitypub_relay/src/python/relay/application.py diff --git a/projects/activitypub_relay/src/relay/config.py b/projects/activitypub_relay/src/python/relay/config.py similarity index 100% rename from projects/activitypub_relay/src/relay/config.py rename to projects/activitypub_relay/src/python/relay/config.py diff --git a/projects/activitypub_relay/src/relay/database.py b/projects/activitypub_relay/src/python/relay/database.py similarity index 100% rename from projects/activitypub_relay/src/relay/database.py rename to projects/activitypub_relay/src/python/relay/database.py diff --git a/projects/activitypub_relay/src/relay/http_debug.py b/projects/activitypub_relay/src/python/relay/http_debug.py similarity index 100% rename from projects/activitypub_relay/src/relay/http_debug.py rename to projects/activitypub_relay/src/python/relay/http_debug.py diff --git a/projects/activitypub_relay/src/relay/misc.py b/projects/activitypub_relay/src/python/relay/misc.py similarity index 100% rename from projects/activitypub_relay/src/relay/misc.py rename to projects/activitypub_relay/src/python/relay/misc.py diff --git a/projects/activitypub_relay/src/relay/processors.py b/projects/activitypub_relay/src/python/relay/processors.py similarity index 100% rename from projects/activitypub_relay/src/relay/processors.py rename to projects/activitypub_relay/src/python/relay/processors.py diff --git a/projects/activitypub_relay/src/relay/views.py b/projects/activitypub_relay/src/python/relay/views.py similarity index 100% rename from projects/activitypub_relay/src/relay/views.py rename to projects/activitypub_relay/src/python/relay/views.py diff --git a/projects/aloe/BUILD.bazel b/projects/aloe/BUILD similarity index 76% rename from projects/aloe/BUILD.bazel rename to projects/aloe/BUILD index 70e6342..97107d9 100644 --- a/projects/aloe/BUILD.bazel +++ b/projects/aloe/BUILD @@ -4,7 +4,7 @@ py_project( zapp_binary( name = "aloe", - main = "src/aloe/__main__.py", + main = "src/python/aloe/__main__.py", deps = [ ":lib", py_requirement("icmplib"), diff --git a/projects/aloe/src/aloe/__main__.py b/projects/aloe/src/python/aloe/__main__.py similarity index 100% rename from projects/aloe/src/aloe/__main__.py rename to projects/aloe/src/python/aloe/__main__.py diff --git a/projects/aloe/src/aloe/cursedlogger.py b/projects/aloe/src/python/aloe/cursedlogger.py similarity index 100% rename from projects/aloe/src/aloe/cursedlogger.py rename to projects/aloe/src/python/aloe/cursedlogger.py diff --git a/projects/aloe/src/aloe/icmp.py b/projects/aloe/src/python/aloe/icmp.py similarity index 100% rename from projects/aloe/src/aloe/icmp.py rename to projects/aloe/src/python/aloe/icmp.py diff --git a/projects/anosql-migrations/BUILD.bazel b/projects/anosql-migrations/BUILD similarity index 100% rename from projects/anosql-migrations/BUILD.bazel rename to projects/anosql-migrations/BUILD diff --git a/projects/anosql-migrations/src/anosql_migrations.py b/projects/anosql-migrations/src/python/anosql_migrations.py similarity index 100% rename from projects/anosql-migrations/src/anosql_migrations.py rename to projects/anosql-migrations/src/python/anosql_migrations.py diff --git a/projects/anosql-migrations/test/test_migrations.py b/projects/anosql-migrations/test/python/test_migrations.py similarity index 100% rename from projects/anosql-migrations/test/test_migrations.py rename to projects/anosql-migrations/test/python/test_migrations.py diff --git a/projects/anosql/BUILD.bazel b/projects/anosql/BUILD similarity index 100% rename from projects/anosql/BUILD.bazel rename to projects/anosql/BUILD diff --git a/projects/anosql/src/anosql/__init__.py b/projects/anosql/src/python/anosql/__init__.py similarity index 100% rename from projects/anosql/src/anosql/__init__.py rename to projects/anosql/src/python/anosql/__init__.py diff --git a/projects/anosql/src/anosql/adapters/__init__.py b/projects/anosql/src/python/anosql/adapters/__init__.py similarity index 100% rename from projects/anosql/src/anosql/adapters/__init__.py rename to projects/anosql/src/python/anosql/adapters/__init__.py diff --git a/projects/anosql/src/anosql/adapters/psycopg2.py b/projects/anosql/src/python/anosql/adapters/psycopg2.py similarity index 100% rename from projects/anosql/src/anosql/adapters/psycopg2.py rename to projects/anosql/src/python/anosql/adapters/psycopg2.py diff --git a/projects/anosql/src/anosql/adapters/sqlite3.py b/projects/anosql/src/python/anosql/adapters/sqlite3.py similarity index 100% rename from projects/anosql/src/anosql/adapters/sqlite3.py rename to projects/anosql/src/python/anosql/adapters/sqlite3.py diff --git a/projects/anosql/src/anosql/core.py b/projects/anosql/src/python/anosql/core.py similarity index 100% rename from projects/anosql/src/anosql/core.py rename to projects/anosql/src/python/anosql/core.py diff --git a/projects/anosql/src/anosql/exceptions.py b/projects/anosql/src/python/anosql/exceptions.py similarity index 100% rename from projects/anosql/src/anosql/exceptions.py rename to projects/anosql/src/python/anosql/exceptions.py diff --git a/projects/anosql/src/anosql/patterns.py b/projects/anosql/src/python/anosql/patterns.py similarity index 100% rename from projects/anosql/src/anosql/patterns.py rename to projects/anosql/src/python/anosql/patterns.py diff --git a/projects/anosql/test/__init__.py b/projects/anosql/test/python/__init__.py similarity index 100% rename from projects/anosql/test/__init__.py rename to projects/anosql/test/python/__init__.py diff --git a/projects/anosql/test/blogdb/data/blogs_data.csv b/projects/anosql/test/python/blogdb/data/blogs_data.csv similarity index 100% rename from projects/anosql/test/blogdb/data/blogs_data.csv rename to projects/anosql/test/python/blogdb/data/blogs_data.csv diff --git a/projects/anosql/test/blogdb/data/users_data.csv b/projects/anosql/test/python/blogdb/data/users_data.csv similarity index 100% rename from projects/anosql/test/blogdb/data/users_data.csv rename to projects/anosql/test/python/blogdb/data/users_data.csv diff --git a/projects/anosql/test/blogdb/sql/blogs/blogs.sql b/projects/anosql/test/python/blogdb/sql/blogs/blogs.sql similarity index 100% rename from projects/anosql/test/blogdb/sql/blogs/blogs.sql rename to projects/anosql/test/python/blogdb/sql/blogs/blogs.sql diff --git a/projects/anosql/test/blogdb/sql/blogs/blogs_pg.sql b/projects/anosql/test/python/blogdb/sql/blogs/blogs_pg.sql similarity index 100% rename from projects/anosql/test/blogdb/sql/blogs/blogs_pg.sql rename to projects/anosql/test/python/blogdb/sql/blogs/blogs_pg.sql diff --git a/projects/anosql/test/blogdb/sql/blogs/blogs_sqlite.sql b/projects/anosql/test/python/blogdb/sql/blogs/blogs_sqlite.sql similarity index 100% rename from projects/anosql/test/blogdb/sql/blogs/blogs_sqlite.sql rename to projects/anosql/test/python/blogdb/sql/blogs/blogs_sqlite.sql diff --git a/projects/anosql/test/blogdb/sql/users/users.sql b/projects/anosql/test/python/blogdb/sql/users/users.sql similarity index 100% rename from projects/anosql/test/blogdb/sql/users/users.sql rename to projects/anosql/test/python/blogdb/sql/users/users.sql diff --git a/projects/anosql/test/conftest.py b/projects/anosql/test/python/conftest.py similarity index 100% rename from projects/anosql/test/conftest.py rename to projects/anosql/test/python/conftest.py diff --git a/projects/anosql/test/test_psycopg2.py b/projects/anosql/test/python/test_psycopg2.py similarity index 100% rename from projects/anosql/test/test_psycopg2.py rename to projects/anosql/test/python/test_psycopg2.py diff --git a/projects/anosql/test/test_simple.py b/projects/anosql/test/python/test_simple.py similarity index 100% rename from projects/anosql/test/test_simple.py rename to projects/anosql/test/python/test_simple.py diff --git a/projects/anosql/test/test_sqlite3.py b/projects/anosql/test/python/test_sqlite3.py similarity index 100% rename from projects/anosql/test/test_sqlite3.py rename to projects/anosql/test/python/test_sqlite3.py diff --git a/projects/archiver/BUILD.bazel b/projects/archiver/BUILD similarity index 86% rename from projects/archiver/BUILD.bazel rename to projects/archiver/BUILD index 9b9da65..667dc8e 100644 --- a/projects/archiver/BUILD.bazel +++ b/projects/archiver/BUILD @@ -15,6 +15,5 @@ zapp_binary( deps = [ py_requirement("ExifRead"), py_requirement("yaspin"), - ], - shebang = "/usr/bin/env python3" + ] ) diff --git a/projects/async_cache/BUILD.bazel b/projects/async_cache/BUILD similarity index 100% rename from projects/async_cache/BUILD.bazel rename to projects/async_cache/BUILD diff --git a/projects/async_cache/src/async_cache/__init__.py b/projects/async_cache/src/python/async_cache/__init__.py similarity index 100% rename from projects/async_cache/src/async_cache/__init__.py rename to projects/async_cache/src/python/async_cache/__init__.py diff --git a/projects/async_cache/src/async_cache/key.py b/projects/async_cache/src/python/async_cache/key.py similarity index 100% rename from projects/async_cache/src/async_cache/key.py rename to projects/async_cache/src/python/async_cache/key.py diff --git a/projects/async_cache/src/async_cache/lru.py b/projects/async_cache/src/python/async_cache/lru.py similarity index 100% rename from projects/async_cache/src/async_cache/lru.py rename to projects/async_cache/src/python/async_cache/lru.py diff --git a/projects/async_cache/src/async_cache/ttl.py b/projects/async_cache/src/python/async_cache/ttl.py similarity index 100% rename from projects/async_cache/src/async_cache/ttl.py rename to projects/async_cache/src/python/async_cache/ttl.py diff --git a/projects/async_cache/test/test_lru.py b/projects/async_cache/test/python/test_lru.py similarity index 100% rename from projects/async_cache/test/test_lru.py rename to projects/async_cache/test/python/test_lru.py diff --git a/projects/async_cache/test/test_ttl.py b/projects/async_cache/test/python/test_ttl.py similarity index 100% rename from projects/async_cache/test/test_ttl.py rename to projects/async_cache/test/python/test_ttl.py diff --git a/projects/bazelshim/BUILD.bazel b/projects/bazelshim/BUILD.bazel deleted file mode 100644 index 5013a2e..0000000 --- a/projects/bazelshim/BUILD.bazel +++ /dev/null @@ -1,4 +0,0 @@ -py_project( - name = "bazelshim", - main = "src/bazelshim/__main__.py", -) diff --git a/projects/bazelshim/src/bazelshim/__main__.py b/projects/bazelshim/src/bazelshim/__main__.py deleted file mode 100755 index 62923ca..0000000 --- a/projects/bazelshim/src/bazelshim/__main__.py +++ /dev/null @@ -1,217 +0,0 @@ -#!/usr/bin/env python3 - -# Since this can't run under Bazel, we have to set up the sys.path ourselves -import os -import sys -from pathlib import Path - -if (p := str(Path(sys.argv[0]).absolute().parent.parent)) not in sys.path: - sys.path.pop(0) # Remove '.' / '' - sys.path.insert(0, p) # Insert the bazelshim root - -# Now that's out of the way... -from dataclasses import dataclass -from shlex import quote, split as shlex -import sys -import tomllib -from pathlib import Path -from typing import List, Optional -from itertools import chain - - -# FIXME: Allow user-defined extensions here -VERBS = [ - "aquery", - "build", - "clean", - "coverage", - "cquery", - "dump", - "fetch", - "help", - "info", - "mod", - "query", - "run", - "sync", - "test", - "watch", -] - - -def path(): - for it in os.getenv("PATH").split(":"): - yield Path(it) - - -def which(cmd): - for it in path(): - f: Path = (it / cmd).absolute() - if f.exists() and f.stat().st_mode & 0x700: - yield f - - -def normalize_opts(args: List[str]) -> List[str]: - acc = [] - - if args[0].endswith("bazel") or args[0].endswith("bazelis"): - acc.append(args.pop(0)) - - while len(args) >= 2: - if args[0] == "--": - # Break - acc.extend(args) - break - - elif "=" in args[0]: - # If it's a k/v form pass it through - acc.append(args.pop(0)) - - elif args[0].startswith("--no"): - # Convert --no<foo> args to --<foo>=no - acc.append("--" + args.pop(0).lstrip("--no") + "=false") - - elif args[0] == "--isatty=0": - acc.append("--isatty=false") - args.pop(0) - - elif ( - args[0].startswith("--") - and not args[1].startswith("--") - and args[1] not in VERBS - ): - # If the next thing isn't an opt, assume it's a '--a b' form - acc.append(args[0] + "=" + args[1]) - args.pop(0) - args.pop(0) - - elif args[0].startswith("--"): - # Assume it's a boolean true flag - acc.append(args.pop(0) + "=true") - - else: - acc.append(args.pop(0)) - - else: - if args: - acc.extend(args) - - return acc - - -@dataclass -class BazelCli: - binary: str - startup_opts: List[str] - command: Optional[str] - command_opts: List[str] - subprocess_opts: List[str] - - @classmethod - def parse_cli(cls, args: List[str]) -> "BazelCli": - args = normalize_opts(args) - binary = args.pop(0) - - startup_opts = [] - while args and args[0].startswith("--"): - startup_opts.append(args.pop(0)) - - command = None - if args and args[0] in VERBS: - command = args.pop(0) - - command_opts = [] - while args and args[0] != "--": - command_opts.append(args.pop(0)) - - subprocess_opts = [] - if args: - if args[0] == "--": - args.pop(0) - subprocess_opts.extend(args) - - return cls( - binary=binary, - startup_opts=startup_opts, - command=command, - command_opts=command_opts, - subprocess_opts=subprocess_opts, - ) - - def render_cli(self): - acc = [ - self.binary, - *self.startup_opts, - ] - if self.command: - if self.command == "watch": - acc.extend(self.command_opts) - else: - acc.append(self.command) - acc.extend(self.command_opts) - - if self.command == "test": - acc.extend(["--test_arg=" + it for it in self.subprocess_opts]) - elif self.command == "run": - acc.append("--") - acc.extend(self.subprocess_opts) - elif self.command and not self.subprocess_opts: - pass - else: - print( - f"Warning: {self.command} does not support -- args! {self.subprocess_opts!r}", - file=sys.stderr, - ) - - return acc - - def executable(self, exclude: List[Path]): - """Try to resolve as via which() an executable to delegate to.""" - - if self.command == "watch": - for p in chain(which("ibazel")): - if p.parent not in exclude: - return str(p) - - else: - for p in chain(which("bazelisk"), which("bazel")): - if p.parent not in exclude: - return str(p) - - def render_text(self, next): - lines = [] - lines.append(" " + next) - base_prefix = " " - for arg in self.render_cli()[1:]: - prefix = base_prefix - if arg in VERBS or arg == self.command: - prefix = " " - elif arg == "--": - base_prefix += " " - lines.append(prefix + arg) - return "\\\n".join(lines) - - -# FIXME: Use some sort of plugin model here to implement interceptors -def middleware(cli): - return cli - - -if __name__ == "__main__": - # This script has a magical flag to help with resolving bazel - exclude = [] - while len(sys.argv) > 1 and sys.argv[1].startswith("--bazelshim_exclude"): - exclude.append(Path(sys.argv.pop(1).split("=")[1]).absolute()) - - us = Path(sys.argv[0]).absolute() - exclude.append(us.parent) - - cli = BazelCli.parse_cli(["bazel"] + sys.argv[1:]) - cli = middleware(cli) - next = cli.executable(exclude=exclude) - if sys.stderr.isatty() and not "--isatty=false" in cli.command_opts: - print( - "\u001b[33mInfo\u001b[0m: Executing\n" + cli.render_text(next), - file=sys.stderr, - ) - os.execv(next, cli.render_cli()) diff --git a/projects/bazelshim/test/test_normalizer.py b/projects/bazelshim/test/test_normalizer.py deleted file mode 100644 index a2cf3ca..0000000 --- a/projects/bazelshim/test/test_normalizer.py +++ /dev/null @@ -1,74 +0,0 @@ -#!/usr/bin/env python3 - -from shlex import split as shlex - -from bazelshim.__main__ import normalize_opts - -import pytest - - -@pytest.mark.parametrize( - "a, b", - [ - ( - "bazel clean", - [ - "bazel", - "clean", - ], - ), - ( - "bazel --client_debug clean", - [ - "bazel", - "--client_debug=true", - "clean", - ], - ), - ( - "bazel build //foo:bar //baz:*", - [ - "bazel", - "build", - "//foo:bar", - "//baz:*", - ], - ), - ( - "bazel test //foo:bar //baz:* -- -vvv", - [ - "bazel", - "test", - "//foo:bar", - "//baz:*", - "--", - "-vvv", - ], - ), - ( - "bazel test --shell_executable /bin/bish //foo:bar //baz:* -- -vvv", - [ - "bazel", - "test", - "--shell_executable=/bin/bish", - "//foo:bar", - "//baz:*", - "--", - "-vvv", - ], - ), - ( - "bazel run //foo:bar -- --foo=bar --baz=qux", - [ - "bazel", - "run", - "//foo:bar", - "--", - "--foo=bar", - "--baz=qux", - ], - ), - ], -) -def test_normalize_opts(a, b): - assert normalize_opts(shlex(a)) == b diff --git a/projects/bazelshim/test/test_parser.py b/projects/bazelshim/test/test_parser.py deleted file mode 100644 index c2cc3d0..0000000 --- a/projects/bazelshim/test/test_parser.py +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env python3 - -from shlex import split as shlex - -from bazelshim.__main__ import BazelCli - -import pytest - - -@pytest.mark.parametrize( - "a, b", - [ - ( - "bazel clean", - BazelCli("bazel", [], "clean", [], []), - ), - ( - "bazel --client_debug clean", - BazelCli("bazel", ["--client_debug=true"], "clean", [], []), - ), - ( - "bazel build //foo:bar //baz:*", - BazelCli("bazel", [], "build", ["//foo:bar", "//baz:*"], []), - ), - ( - "bazel test //foo:bar //baz:* -- -vvv", - BazelCli("bazel", [], "test", ["//foo:bar", "//baz:*"], ["-vvv"]), - ), - ( - "bazel test --shell_executable /bin/bish //foo:bar //baz:* -- -vvv", - BazelCli( - "bazel", - [], - "test", - ["--shell_executable=/bin/bish", "//foo:bar", "//baz:*"], - ["-vvv"], - ), - ), - ( - "bazel run //foo:bar -- --foo=bar --baz=qux", - BazelCli( - "bazel", - [], - "run", - ["//foo:bar"], - ["--foo=bar", "--baz=qux"], - ), - ), - ], -) -def test_normalize_opts(a, b): - assert BazelCli.parse_cli(shlex(a)) == b diff --git a/projects/bazelshim/src/bazelshim/__init__.py b/projects/bussard/src/python/bussard/__init__.py similarity index 100% rename from projects/bazelshim/src/bazelshim/__init__.py rename to projects/bussard/src/python/bussard/__init__.py diff --git a/projects/bussard/src/bussard/bfmt b/projects/bussard/src/python/bussard/bfmt similarity index 100% rename from projects/bussard/src/bussard/bfmt rename to projects/bussard/src/python/bussard/bfmt diff --git a/projects/bussard/src/bussard/bparse b/projects/bussard/src/python/bussard/bparse similarity index 100% rename from projects/bussard/src/bussard/bparse rename to projects/bussard/src/python/bussard/bparse diff --git a/projects/bussard/src/bussard/__init__.py b/projects/bussard/src/python/bussard/gen/__init__.py similarity index 100% rename from projects/bussard/src/bussard/__init__.py rename to projects/bussard/src/python/bussard/gen/__init__.py diff --git a/projects/bussard/src/bussard/reader.py b/projects/bussard/src/python/bussard/reader.py similarity index 100% rename from projects/bussard/src/bussard/reader.py rename to projects/bussard/src/python/bussard/reader.py diff --git a/projects/bussard/test/bussard/test_reader.py b/projects/bussard/test/python/bussard/test_reader.py similarity index 100% rename from projects/bussard/test/bussard/test_reader.py rename to projects/bussard/test/python/bussard/test_reader.py diff --git a/projects/calf/BUILD.bazel b/projects/calf/BUILD similarity index 80% rename from projects/calf/BUILD.bazel rename to projects/calf/BUILD index baed3a6..c1e87be 100644 --- a/projects/calf/BUILD.bazel +++ b/projects/calf/BUILD @@ -2,7 +2,7 @@ package(default_visibility = ["//visibility:public"]) py_library( name = "lib", - srcs = glob(["src/**/*.py"]), + srcs = glob(["src/python/**/*.py"]), imports = ["src/python"], deps = [ py_requirement("pyrsistent"), diff --git a/projects/calf/src/calf/__init__.py b/projects/calf/src/python/calf/__init__.py similarity index 100% rename from projects/calf/src/calf/__init__.py rename to projects/calf/src/python/calf/__init__.py diff --git a/projects/calf/src/calf/analyzer.py b/projects/calf/src/python/calf/analyzer.py similarity index 100% rename from projects/calf/src/calf/analyzer.py rename to projects/calf/src/python/calf/analyzer.py diff --git a/projects/calf/src/calf/cursedrepl.py b/projects/calf/src/python/calf/cursedrepl.py similarity index 100% rename from projects/calf/src/calf/cursedrepl.py rename to projects/calf/src/python/calf/cursedrepl.py diff --git a/projects/calf/src/calf/grammar.py b/projects/calf/src/python/calf/grammar.py similarity index 100% rename from projects/calf/src/calf/grammar.py rename to projects/calf/src/python/calf/grammar.py diff --git a/projects/calf/src/calf/io/reader.py b/projects/calf/src/python/calf/io/reader.py similarity index 100% rename from projects/calf/src/calf/io/reader.py rename to projects/calf/src/python/calf/io/reader.py diff --git a/projects/calf/src/calf/lexer.py b/projects/calf/src/python/calf/lexer.py similarity index 100% rename from projects/calf/src/calf/lexer.py rename to projects/calf/src/python/calf/lexer.py diff --git a/projects/calf/src/calf/packages.py b/projects/calf/src/python/calf/packages.py similarity index 100% rename from projects/calf/src/calf/packages.py rename to projects/calf/src/python/calf/packages.py diff --git a/projects/calf/src/calf/parser.py b/projects/calf/src/python/calf/parser.py similarity index 100% rename from projects/calf/src/calf/parser.py rename to projects/calf/src/python/calf/parser.py diff --git a/projects/calf/src/calf/reader.py b/projects/calf/src/python/calf/reader.py similarity index 100% rename from projects/calf/src/calf/reader.py rename to projects/calf/src/python/calf/reader.py diff --git a/projects/calf/src/calf/token.py b/projects/calf/src/python/calf/token.py similarity index 100% rename from projects/calf/src/calf/token.py rename to projects/calf/src/python/calf/token.py diff --git a/projects/calf/src/calf/types.py b/projects/calf/src/python/calf/types.py similarity index 100% rename from projects/calf/src/calf/types.py rename to projects/calf/src/python/calf/types.py diff --git a/projects/calf/src/calf/util.py b/projects/calf/src/python/calf/util.py similarity index 100% rename from projects/calf/src/calf/util.py rename to projects/calf/src/python/calf/util.py diff --git a/projects/calf/tests/python/BUILD.bazel b/projects/calf/tests/python/BUILD similarity index 100% rename from projects/calf/tests/python/BUILD.bazel rename to projects/calf/tests/python/BUILD diff --git a/projects/cherry-shim/BUILD.bazel b/projects/cherry-shim/BUILD similarity index 100% rename from projects/cherry-shim/BUILD.bazel rename to projects/cherry-shim/BUILD diff --git a/projects/cherry-shim/src/cherry_shim.py b/projects/cherry-shim/src/python/cherry_shim.py similarity index 100% rename from projects/cherry-shim/src/cherry_shim.py rename to projects/cherry-shim/src/python/cherry_shim.py diff --git a/projects/clusterctrl/BUILD.bazel b/projects/clusterctrl/BUILD similarity index 83% rename from projects/clusterctrl/BUILD.bazel rename to projects/clusterctrl/BUILD index 9de3323..0f44e22 100644 --- a/projects/clusterctrl/BUILD.bazel +++ b/projects/clusterctrl/BUILD @@ -7,7 +7,7 @@ py_project( zapp_binary( name = "clusterctrl", - main = "src/clusterctrl/__main__.py", + main = "src/python/clusterctrl/__main__.py", imports = [ "src/python", ], diff --git a/projects/clusterctrl/src/clusterctrl/__main__.py b/projects/clusterctrl/src/python/clusterctrl/__main__.py similarity index 100% rename from projects/clusterctrl/src/clusterctrl/__main__.py rename to projects/clusterctrl/src/python/clusterctrl/__main__.py diff --git a/projects/clusterctrl/src/clusterctrl/cmd/alert.py b/projects/clusterctrl/src/python/clusterctrl/cmd/alert.py similarity index 100% rename from projects/clusterctrl/src/clusterctrl/cmd/alert.py rename to projects/clusterctrl/src/python/clusterctrl/cmd/alert.py diff --git a/projects/clusterctrl/src/clusterctrl/cmd/fan.py b/projects/clusterctrl/src/python/clusterctrl/cmd/fan.py similarity index 100% rename from projects/clusterctrl/src/clusterctrl/cmd/fan.py rename to projects/clusterctrl/src/python/clusterctrl/cmd/fan.py diff --git a/projects/clusterctrl/src/clusterctrl/cmd/hub.py b/projects/clusterctrl/src/python/clusterctrl/cmd/hub.py similarity index 100% rename from projects/clusterctrl/src/clusterctrl/cmd/hub.py rename to projects/clusterctrl/src/python/clusterctrl/cmd/hub.py diff --git a/projects/clusterctrl/src/clusterctrl/cmd/led.py b/projects/clusterctrl/src/python/clusterctrl/cmd/led.py similarity index 100% rename from projects/clusterctrl/src/clusterctrl/cmd/led.py rename to projects/clusterctrl/src/python/clusterctrl/cmd/led.py diff --git a/projects/clusterctrl/src/clusterctrl/cmd/power.py b/projects/clusterctrl/src/python/clusterctrl/cmd/power.py similarity index 100% rename from projects/clusterctrl/src/clusterctrl/cmd/power.py rename to projects/clusterctrl/src/python/clusterctrl/cmd/power.py diff --git a/projects/clusterctrl/src/clusterctrl/cmd/save.py b/projects/clusterctrl/src/python/clusterctrl/cmd/save.py similarity index 100% rename from projects/clusterctrl/src/clusterctrl/cmd/save.py rename to projects/clusterctrl/src/python/clusterctrl/cmd/save.py diff --git a/projects/clusterctrl/src/clusterctrl/driver.py b/projects/clusterctrl/src/python/clusterctrl/driver.py similarity index 100% rename from projects/clusterctrl/src/clusterctrl/driver.py rename to projects/clusterctrl/src/python/clusterctrl/driver.py diff --git a/projects/clusterctrl/test/test_driver.py b/projects/clusterctrl/test/python/test_driver.py similarity index 100% rename from projects/clusterctrl/test/test_driver.py rename to projects/clusterctrl/test/python/test_driver.py diff --git a/projects/damm/BUILD.bazel b/projects/damm/BUILD similarity index 100% rename from projects/damm/BUILD.bazel rename to projects/damm/BUILD diff --git a/projects/damm/src/damm.py b/projects/damm/src/python/damm.py similarity index 100% rename from projects/damm/src/damm.py rename to projects/damm/src/python/damm.py diff --git a/projects/damm/test/test_damm.py b/projects/damm/test/python/test_damm.py similarity index 100% rename from projects/damm/test/test_damm.py rename to projects/damm/test/python/test_damm.py diff --git a/projects/damm/test/test_hypothesis.py b/projects/damm/test/python/test_hypothesis.py similarity index 100% rename from projects/damm/test/test_hypothesis.py rename to projects/damm/test/python/test_hypothesis.py diff --git a/projects/datalog-shell/BUILD.bazel b/projects/datalog-shell/BUILD similarity index 80% rename from projects/datalog-shell/BUILD.bazel rename to projects/datalog-shell/BUILD index f849f1d..0a4e2d9 100644 --- a/projects/datalog-shell/BUILD.bazel +++ b/projects/datalog-shell/BUILD @@ -1,6 +1,6 @@ zapp_binary( name = "datalog-shell", - main = "src/datalog/shell/__main__.py", + main = "src/python/datalog/shell/__main__.py", imports = [ "src/python" ], diff --git a/projects/datalog-shell/src/datalog/shell/__main__.py b/projects/datalog-shell/src/python/datalog/shell/__main__.py similarity index 100% rename from projects/datalog-shell/src/datalog/shell/__main__.py rename to projects/datalog-shell/src/python/datalog/shell/__main__.py diff --git a/projects/datalog/BUILD.bazel b/projects/datalog/BUILD similarity index 100% rename from projects/datalog/BUILD.bazel rename to projects/datalog/BUILD diff --git a/projects/bussard/src/bussard/gen/__init__.py b/projects/datalog/src/python/__init__.py similarity index 100% rename from projects/bussard/src/bussard/gen/__init__.py rename to projects/datalog/src/python/__init__.py diff --git a/projects/datalog/src/__init__.py b/projects/datalog/src/python/datalog/__init__.py similarity index 100% rename from projects/datalog/src/__init__.py rename to projects/datalog/src/python/datalog/__init__.py diff --git a/projects/datalog/src/datalog/debris.py b/projects/datalog/src/python/datalog/debris.py similarity index 100% rename from projects/datalog/src/datalog/debris.py rename to projects/datalog/src/python/datalog/debris.py diff --git a/projects/datalog/src/datalog/easy.py b/projects/datalog/src/python/datalog/easy.py similarity index 100% rename from projects/datalog/src/datalog/easy.py rename to projects/datalog/src/python/datalog/easy.py diff --git a/projects/datalog/src/datalog/evaluator.py b/projects/datalog/src/python/datalog/evaluator.py similarity index 100% rename from projects/datalog/src/datalog/evaluator.py rename to projects/datalog/src/python/datalog/evaluator.py diff --git a/projects/datalog/src/datalog/parser.py b/projects/datalog/src/python/datalog/parser.py similarity index 100% rename from projects/datalog/src/datalog/parser.py rename to projects/datalog/src/python/datalog/parser.py diff --git a/projects/datalog/src/datalog/reader.py b/projects/datalog/src/python/datalog/reader.py similarity index 100% rename from projects/datalog/src/datalog/reader.py rename to projects/datalog/src/python/datalog/reader.py diff --git a/projects/datalog/src/datalog/types.py b/projects/datalog/src/python/datalog/types.py similarity index 100% rename from projects/datalog/src/datalog/types.py rename to projects/datalog/src/python/datalog/types.py diff --git a/projects/datalog/test/test_datalog_evaluator.py b/projects/datalog/test/python/test_datalog_evaluator.py similarity index 100% rename from projects/datalog/test/test_datalog_evaluator.py rename to projects/datalog/test/python/test_datalog_evaluator.py diff --git a/projects/datalog/test/test_datalog_reader.py b/projects/datalog/test/python/test_datalog_reader.py similarity index 100% rename from projects/datalog/test/test_datalog_reader.py rename to projects/datalog/test/python/test_datalog_reader.py diff --git a/projects/flowmetal/BUILD.bazel b/projects/flowmetal/BUILD similarity index 75% rename from projects/flowmetal/BUILD.bazel rename to projects/flowmetal/BUILD index 6110e78..1df43c3 100644 --- a/projects/flowmetal/BUILD.bazel +++ b/projects/flowmetal/BUILD @@ -2,7 +2,7 @@ package(default_visibility = ["//visibility:public"]) py_library( name = "lib", - srcs = glob(["src/flowmetal/*.py"]), + srcs = glob(["src/python/flowmetal/*.py"]), imports = [ "src/python" ], @@ -17,5 +17,5 @@ py_binary( py_requirement("click"), py_requirement("redis"), ], - main = "src/flowmetal/__main__.py", + main = "src/python/flowmetal/__main__.py", ) diff --git a/projects/flowmetal/scratch/BUILD.bazel b/projects/flowmetal/scratch/BUILD similarity index 100% rename from projects/flowmetal/scratch/BUILD.bazel rename to projects/flowmetal/scratch/BUILD diff --git a/projects/flowmetal/src/flowmetal/__main__.py b/projects/flowmetal/src/python/flowmetal/__main__.py similarity index 100% rename from projects/flowmetal/src/flowmetal/__main__.py rename to projects/flowmetal/src/python/flowmetal/__main__.py diff --git a/projects/flowmetal/src/flowmetal/db/base.py b/projects/flowmetal/src/python/flowmetal/db/base.py similarity index 100% rename from projects/flowmetal/src/flowmetal/db/base.py rename to projects/flowmetal/src/python/flowmetal/db/base.py diff --git a/projects/flowmetal/src/flowmetal/db/redis.py b/projects/flowmetal/src/python/flowmetal/db/redis.py similarity index 100% rename from projects/flowmetal/src/flowmetal/db/redis.py rename to projects/flowmetal/src/python/flowmetal/db/redis.py diff --git a/projects/flowmetal/src/flowmetal/frontend.py b/projects/flowmetal/src/python/flowmetal/frontend.py similarity index 100% rename from projects/flowmetal/src/flowmetal/frontend.py rename to projects/flowmetal/src/python/flowmetal/frontend.py diff --git a/projects/flowmetal/src/flowmetal/interpreter.py b/projects/flowmetal/src/python/flowmetal/interpreter.py similarity index 100% rename from projects/flowmetal/src/flowmetal/interpreter.py rename to projects/flowmetal/src/python/flowmetal/interpreter.py diff --git a/projects/flowmetal/src/flowmetal/models.py b/projects/flowmetal/src/python/flowmetal/models.py similarity index 100% rename from projects/flowmetal/src/flowmetal/models.py rename to projects/flowmetal/src/python/flowmetal/models.py diff --git a/projects/flowmetal/src/flowmetal/reaper.py b/projects/flowmetal/src/python/flowmetal/reaper.py similarity index 100% rename from projects/flowmetal/src/flowmetal/reaper.py rename to projects/flowmetal/src/python/flowmetal/reaper.py diff --git a/projects/flowmetal/src/flowmetal/scheduler.py b/projects/flowmetal/src/python/flowmetal/scheduler.py similarity index 100% rename from projects/flowmetal/src/flowmetal/scheduler.py rename to projects/flowmetal/src/python/flowmetal/scheduler.py diff --git a/projects/gandi/BUILD.bazel b/projects/gandi/BUILD similarity index 79% rename from projects/gandi/BUILD.bazel rename to projects/gandi/BUILD index e887cbb..936b3c7 100644 --- a/projects/gandi/BUILD.bazel +++ b/projects/gandi/BUILD @@ -2,7 +2,7 @@ package(default_visibility = ["//visibility:public"]) py_library( name = "gandi", - srcs = glob(["src/gandi/client.py"]), + srcs = glob(["src/python/gandi/client.py"]), imports = [ "src/python", ], diff --git a/projects/datalog/src/datalog/__init__.py b/projects/gandi/src/python/gandi/__init__.py similarity index 100% rename from projects/datalog/src/datalog/__init__.py rename to projects/gandi/src/python/gandi/__init__.py diff --git a/projects/gandi/src/gandi/client.py b/projects/gandi/src/python/gandi/client.py similarity index 100% rename from projects/gandi/src/gandi/client.py rename to projects/gandi/src/python/gandi/client.py diff --git a/projects/gcode-interpreter/src/gcode_interpreter.py b/projects/gcode-interpreter/src/python/gcode_interpreter.py similarity index 100% rename from projects/gcode-interpreter/src/gcode_interpreter.py rename to projects/gcode-interpreter/src/python/gcode_interpreter.py diff --git a/projects/gh-unnotifier/BUILD.bazel b/projects/gh-unnotifier/BUILD similarity index 78% rename from projects/gh-unnotifier/BUILD.bazel rename to projects/gh-unnotifier/BUILD index 6373c3e..a820dab 100644 --- a/projects/gh-unnotifier/BUILD.bazel +++ b/projects/gh-unnotifier/BUILD @@ -1,6 +1,6 @@ py_project( name = "gh-unnotifier", - main = "src/ghunnotif/__main__.py", + main = "src/python/ghunnotif/__main__.py", main_deps = [ py_requirement("click"), py_requirement("requests"), diff --git a/projects/gh-unnotifier/src/ghunnotif/__main__.py b/projects/gh-unnotifier/src/python/ghunnotif/__main__.py similarity index 100% rename from projects/gh-unnotifier/src/ghunnotif/__main__.py rename to projects/gh-unnotifier/src/python/ghunnotif/__main__.py diff --git a/projects/jobq/BUILD.bazel b/projects/jobq/BUILD similarity index 100% rename from projects/jobq/BUILD.bazel rename to projects/jobq/BUILD diff --git a/projects/jobq/src/jobq/__init__.py b/projects/jobq/src/python/jobq/__init__.py similarity index 100% rename from projects/jobq/src/jobq/__init__.py rename to projects/jobq/src/python/jobq/__init__.py diff --git a/projects/jobq/test/test_jobq.py b/projects/jobq/test/python/test_jobq.py similarity index 100% rename from projects/jobq/test/test_jobq.py rename to projects/jobq/test/python/test_jobq.py diff --git a/projects/jobqd/BUILD.bazel b/projects/jobqd/BUILD similarity index 79% rename from projects/jobqd/BUILD.bazel rename to projects/jobqd/BUILD index 5b1e36d..71d56e8 100644 --- a/projects/jobqd/BUILD.bazel +++ b/projects/jobqd/BUILD @@ -1,6 +1,6 @@ zapp_binary( name = "jobqd", - main = "src/jobqd/__main__.py", + main = "src/python/jobqd/__main__.py", imports = [ "src/python", ], @@ -13,7 +13,7 @@ zapp_binary( py_library( name = "client", srcs = [ - "src/jobqd/rest/api.py", + "src/python/jobqd/rest/api.py", ], imports = [ "src/python", diff --git a/projects/jobqd/src/jobqd/__main__.py b/projects/jobqd/src/python/jobqd/__main__.py similarity index 100% rename from projects/jobqd/src/jobqd/__main__.py rename to projects/jobqd/src/python/jobqd/__main__.py diff --git a/projects/jobqd/src/jobqd/openapi.yaml b/projects/jobqd/src/python/jobqd/openapi.yaml similarity index 100% rename from projects/jobqd/src/jobqd/openapi.yaml rename to projects/jobqd/src/python/jobqd/openapi.yaml diff --git a/projects/jobqd/src/jobqd/rest/api.py b/projects/jobqd/src/python/jobqd/rest/api.py similarity index 100% rename from projects/jobqd/src/jobqd/rest/api.py rename to projects/jobqd/src/python/jobqd/rest/api.py diff --git a/projects/lilith/BUILD.bazel b/projects/lilith/BUILD similarity index 86% rename from projects/lilith/BUILD.bazel rename to projects/lilith/BUILD index 858526e..c7909ad 100644 --- a/projects/lilith/BUILD.bazel +++ b/projects/lilith/BUILD @@ -1,6 +1,6 @@ py_project( name = "lilith", - main = "src/lilith/__main__.py", + main = "src/python/lilith/__main__.py", lib_deps = [ py_requirement("lark"), py_requirement("pyyaml"), diff --git a/projects/gandi/src/gandi/__init__.py b/projects/lilith/src/python/lilith/__init__.py similarity index 100% rename from projects/gandi/src/gandi/__init__.py rename to projects/lilith/src/python/lilith/__init__.py diff --git a/projects/lilith/src/lilith/__main__.py b/projects/lilith/src/python/lilith/__main__.py similarity index 100% rename from projects/lilith/src/lilith/__main__.py rename to projects/lilith/src/python/lilith/__main__.py diff --git a/projects/lilith/src/lilith/grammar.lark b/projects/lilith/src/python/lilith/grammar.lark similarity index 100% rename from projects/lilith/src/lilith/grammar.lark rename to projects/lilith/src/python/lilith/grammar.lark diff --git a/projects/lilith/src/lilith/interpreter.py b/projects/lilith/src/python/lilith/interpreter.py similarity index 100% rename from projects/lilith/src/lilith/interpreter.py rename to projects/lilith/src/python/lilith/interpreter.py diff --git a/projects/lilith/src/lilith/parser.py b/projects/lilith/src/python/lilith/parser.py similarity index 100% rename from projects/lilith/src/lilith/parser.py rename to projects/lilith/src/python/lilith/parser.py diff --git a/projects/lilith/src/lilith/prelude.lil b/projects/lilith/src/python/lilith/prelude.lil similarity index 100% rename from projects/lilith/src/lilith/prelude.lil rename to projects/lilith/src/python/lilith/prelude.lil diff --git a/projects/lilith/src/lilith/reader.py b/projects/lilith/src/python/lilith/reader.py similarity index 100% rename from projects/lilith/src/lilith/reader.py rename to projects/lilith/src/python/lilith/reader.py diff --git a/projects/lilith/test/conftest.py b/projects/lilith/test/python/conftest.py similarity index 100% rename from projects/lilith/test/conftest.py rename to projects/lilith/test/python/conftest.py diff --git a/projects/lilith/test/test_interpreter.py b/projects/lilith/test/python/test_interpreter.py similarity index 100% rename from projects/lilith/test/test_interpreter.py rename to projects/lilith/test/python/test_interpreter.py diff --git a/projects/lilith/test/test_parser.py b/projects/lilith/test/python/test_parser.py similarity index 100% rename from projects/lilith/test/test_parser.py rename to projects/lilith/test/python/test_parser.py diff --git a/projects/lilith/test/test_reader.py b/projects/lilith/test/python/test_reader.py similarity index 100% rename from projects/lilith/test/test_reader.py rename to projects/lilith/test/python/test_reader.py diff --git a/projects/octodash/BUILD.bazel b/projects/octodash/BUILD similarity index 100% rename from projects/octodash/BUILD.bazel rename to projects/octodash/BUILD diff --git a/projects/octostep/BUILD.bazel b/projects/octostep/BUILD similarity index 100% rename from projects/octostep/BUILD.bazel rename to projects/octostep/BUILD diff --git a/projects/proquint/BUILD.bazel b/projects/proquint/BUILD similarity index 85% rename from projects/proquint/BUILD.bazel rename to projects/proquint/BUILD index c94e574..c55fdfd 100644 --- a/projects/proquint/BUILD.bazel +++ b/projects/proquint/BUILD @@ -7,7 +7,7 @@ py_project( zapp_binary( name = "qint", - main = "src/proquint/__main__.py", + main = "src/python/proquint/__main__.py", shebang = "#!/usr/bin/env python3", imports = [ "src/python", diff --git a/projects/proquint/src/proquint/__init__.py b/projects/proquint/src/python/proquint/__init__.py similarity index 100% rename from projects/proquint/src/proquint/__init__.py rename to projects/proquint/src/python/proquint/__init__.py diff --git a/projects/proquint/src/proquint/__main__.py b/projects/proquint/src/python/proquint/__main__.py similarity index 100% rename from projects/proquint/src/proquint/__main__.py rename to projects/proquint/src/python/proquint/__main__.py diff --git a/projects/proquint/test/test_examples.py b/projects/proquint/test/python/test_examples.py similarity index 100% rename from projects/proquint/test/test_examples.py rename to projects/proquint/test/python/test_examples.py diff --git a/projects/proquint/test/test_hypothesis.py b/projects/proquint/test/python/test_hypothesis.py similarity index 100% rename from projects/proquint/test/test_hypothesis.py rename to projects/proquint/test/python/test_hypothesis.py diff --git a/projects/public_dns/BUILD.bazel b/projects/public_dns/BUILD similarity index 83% rename from projects/public_dns/BUILD.bazel rename to projects/public_dns/BUILD index 487b8bb..989fd2e 100644 --- a/projects/public_dns/BUILD.bazel +++ b/projects/public_dns/BUILD @@ -1,6 +1,6 @@ py_project( name = "updater", - main = "src/updater/__main__.py", + main = "src/python/updater/__main__.py", shebang = "/usr/bin/env python3", lib_deps = [ "//projects/gandi", diff --git a/projects/public_dns/src/updater/__init__.py b/projects/public_dns/src/python/updater/__init__.py similarity index 100% rename from projects/public_dns/src/updater/__init__.py rename to projects/public_dns/src/python/updater/__init__.py diff --git a/projects/public_dns/src/updater/__main__.py b/projects/public_dns/src/python/updater/__main__.py similarity index 100% rename from projects/public_dns/src/updater/__main__.py rename to projects/public_dns/src/python/updater/__main__.py diff --git a/projects/public_dns/test/test_parsing.py b/projects/public_dns/test/python/test_parsing.py similarity index 100% rename from projects/public_dns/test/test_parsing.py rename to projects/public_dns/test/python/test_parsing.py diff --git a/projects/ratchet/BUILD.bazel b/projects/ratchet/BUILD similarity index 76% rename from projects/ratchet/BUILD.bazel rename to projects/ratchet/BUILD index f2e5198..fe5d756 100644 --- a/projects/ratchet/BUILD.bazel +++ b/projects/ratchet/BUILD @@ -2,7 +2,7 @@ package(default_visibility = ["//visibility:public"]) py_library( name = "lib", - srcs = glob(["src/**/*.py"]), + srcs = glob(["src/python/**/*.py"]), imports = ["src/python"], deps = [ ] diff --git a/projects/ratchet/src/ratchet/__init__.py b/projects/ratchet/src/python/ratchet/__init__.py similarity index 100% rename from projects/ratchet/src/ratchet/__init__.py rename to projects/ratchet/src/python/ratchet/__init__.py diff --git a/projects/ratchet/src/ratchet/backend/sqlite.py b/projects/ratchet/src/python/ratchet/backend/sqlite.py similarity index 100% rename from projects/ratchet/src/ratchet/backend/sqlite.py rename to projects/ratchet/src/python/ratchet/backend/sqlite.py diff --git a/projects/reqman/BUILD.bazel b/projects/reqman/BUILD similarity index 75% rename from projects/reqman/BUILD.bazel rename to projects/reqman/BUILD index ef2d306..fc2cb8b 100644 --- a/projects/reqman/BUILD.bazel +++ b/projects/reqman/BUILD @@ -1,6 +1,6 @@ zapp_binary( name = "reqman", - main = "src/reqman/__main__.py", + main = "src/python/reqman/__main__.py", imports = [ "src/python", ], diff --git a/projects/reqman/src/reqman/__main__.py b/projects/reqman/src/python/reqman/__main__.py similarity index 100% rename from projects/reqman/src/reqman/__main__.py rename to projects/reqman/src/python/reqman/__main__.py diff --git a/projects/shoggoth/BUILD.bazel b/projects/shoggoth/BUILD similarity index 83% rename from projects/shoggoth/BUILD.bazel rename to projects/shoggoth/BUILD index 3e46607..563d7bb 100644 --- a/projects/shoggoth/BUILD.bazel +++ b/projects/shoggoth/BUILD @@ -1,6 +1,6 @@ py_project( name = "shoggoth", - main = "src/shoggoth/repl/__main__.py", + main = "src/python/shoggoth/repl/__main__.py", main_deps = [ py_requirement("prompt_toolkit"), py_requirement("yaspin"), @@ -17,7 +17,7 @@ py_project( zapp_binary( name ="ichor", - main = "src/ichor/__main__.py", + main = "src/python/ichor/__main__.py", shebang ="/usr/bin/env python3", deps = [ ":lib", diff --git a/projects/shoggoth/src/ichor/NOTES.md b/projects/shoggoth/src/python/ichor/NOTES.md similarity index 100% rename from projects/shoggoth/src/ichor/NOTES.md rename to projects/shoggoth/src/python/ichor/NOTES.md diff --git a/projects/lilith/src/lilith/__init__.py b/projects/shoggoth/src/python/ichor/__init__.py similarity index 100% rename from projects/lilith/src/lilith/__init__.py rename to projects/shoggoth/src/python/ichor/__init__.py diff --git a/projects/shoggoth/src/ichor/__main__.py b/projects/shoggoth/src/python/ichor/__main__.py similarity index 100% rename from projects/shoggoth/src/ichor/__main__.py rename to projects/shoggoth/src/python/ichor/__main__.py diff --git a/projects/shoggoth/src/ichor/assembler.py b/projects/shoggoth/src/python/ichor/assembler.py similarity index 100% rename from projects/shoggoth/src/ichor/assembler.py rename to projects/shoggoth/src/python/ichor/assembler.py diff --git a/projects/shoggoth/src/ichor/bootstrap.py b/projects/shoggoth/src/python/ichor/bootstrap.py similarity index 100% rename from projects/shoggoth/src/ichor/bootstrap.py rename to projects/shoggoth/src/python/ichor/bootstrap.py diff --git a/projects/shoggoth/src/ichor/interpreter.py b/projects/shoggoth/src/python/ichor/interpreter.py similarity index 100% rename from projects/shoggoth/src/ichor/interpreter.py rename to projects/shoggoth/src/python/ichor/interpreter.py diff --git a/projects/shoggoth/src/ichor/isa.py b/projects/shoggoth/src/python/ichor/isa.py similarity index 100% rename from projects/shoggoth/src/ichor/isa.py rename to projects/shoggoth/src/python/ichor/isa.py diff --git a/projects/shoggoth/src/ichor/state.py b/projects/shoggoth/src/python/ichor/state.py similarity index 100% rename from projects/shoggoth/src/ichor/state.py rename to projects/shoggoth/src/python/ichor/state.py diff --git a/projects/shoggoth/src/ichor/typing.py b/projects/shoggoth/src/python/ichor/typing.py similarity index 100% rename from projects/shoggoth/src/ichor/typing.py rename to projects/shoggoth/src/python/ichor/typing.py diff --git a/projects/shoggoth/src/shoggoth/analyzer.py b/projects/shoggoth/src/python/shoggoth/analyzer.py similarity index 100% rename from projects/shoggoth/src/shoggoth/analyzer.py rename to projects/shoggoth/src/python/shoggoth/analyzer.py diff --git a/projects/shoggoth/src/shoggoth/parser.py b/projects/shoggoth/src/python/shoggoth/parser.py similarity index 100% rename from projects/shoggoth/src/shoggoth/parser.py rename to projects/shoggoth/src/python/shoggoth/parser.py diff --git a/projects/shoggoth/src/shoggoth/reader.py b/projects/shoggoth/src/python/shoggoth/reader.py similarity index 100% rename from projects/shoggoth/src/shoggoth/reader.py rename to projects/shoggoth/src/python/shoggoth/reader.py diff --git a/projects/shoggoth/src/shoggoth/repl/__main__.py b/projects/shoggoth/src/python/shoggoth/repl/__main__.py similarity index 100% rename from projects/shoggoth/src/shoggoth/repl/__main__.py rename to projects/shoggoth/src/python/shoggoth/repl/__main__.py diff --git a/projects/shoggoth/src/shoggoth/types.py b/projects/shoggoth/src/python/shoggoth/types.py similarity index 100% rename from projects/shoggoth/src/shoggoth/types.py rename to projects/shoggoth/src/python/shoggoth/types.py diff --git a/projects/shoggoth/test/ichor/fixtures.py b/projects/shoggoth/test/python/ichor/fixtures.py similarity index 100% rename from projects/shoggoth/test/ichor/fixtures.py rename to projects/shoggoth/test/python/ichor/fixtures.py diff --git a/projects/shoggoth/test/ichor/test_assembler.py b/projects/shoggoth/test/python/ichor/test_assembler.py similarity index 100% rename from projects/shoggoth/test/ichor/test_assembler.py rename to projects/shoggoth/test/python/ichor/test_assembler.py diff --git a/projects/shoggoth/test/ichor/test_bootstrap.py b/projects/shoggoth/test/python/ichor/test_bootstrap.py similarity index 100% rename from projects/shoggoth/test/ichor/test_bootstrap.py rename to projects/shoggoth/test/python/ichor/test_bootstrap.py diff --git a/projects/shoggoth/test/ichor/test_interpreter.py b/projects/shoggoth/test/python/ichor/test_interpreter.py similarity index 100% rename from projects/shoggoth/test/ichor/test_interpreter.py rename to projects/shoggoth/test/python/ichor/test_interpreter.py diff --git a/projects/shoggoth/test/ichor/test_parsers.py b/projects/shoggoth/test/python/ichor/test_parsers.py similarity index 100% rename from projects/shoggoth/test/ichor/test_parsers.py rename to projects/shoggoth/test/python/ichor/test_parsers.py diff --git a/projects/shoggoth/test/ichor/test_state.py b/projects/shoggoth/test/python/ichor/test_state.py similarity index 100% rename from projects/shoggoth/test/ichor/test_state.py rename to projects/shoggoth/test/python/ichor/test_state.py diff --git a/projects/shoggoth/test/shogoth/test_parser.py b/projects/shoggoth/test/python/shogoth/test_parser.py similarity index 100% rename from projects/shoggoth/test/shogoth/test_parser.py rename to projects/shoggoth/test/python/shogoth/test_parser.py diff --git a/projects/smith/BUILD.bazel b/projects/smith/BUILD similarity index 80% rename from projects/smith/BUILD.bazel rename to projects/smith/BUILD index 8936098..f69a080 100644 --- a/projects/smith/BUILD.bazel +++ b/projects/smith/BUILD @@ -7,5 +7,5 @@ py_project( main_deps = [ py_requirement("click"), ], - main = "src/smith/__main__.py", + main = "src/python/smith/__main__.py", ) diff --git a/projects/smith/src/smith/__main__.py b/projects/smith/src/python/smith/__main__.py similarity index 100% rename from projects/smith/src/smith/__main__.py rename to projects/smith/src/python/smith/__main__.py diff --git a/projects/templater/BUILD.bazel b/projects/templater/BUILD similarity index 100% rename from projects/templater/BUILD.bazel rename to projects/templater/BUILD diff --git a/projects/tentacles/BUILD.bazel b/projects/tentacles/BUILD similarity index 80% rename from projects/tentacles/BUILD.bazel rename to projects/tentacles/BUILD index 7ee4194..349c659 100644 --- a/projects/tentacles/BUILD.bazel +++ b/projects/tentacles/BUILD @@ -2,7 +2,7 @@ py_project( name = "tentacles", shebang = "/usr/bin/env python3", zip_safe = False, - main = "src/tentacles/__main__.py", + main = "src/python/tentacles/__main__.py", main_deps = [ "//projects/anosql", "//projects/anosql-migrations", @@ -15,6 +15,6 @@ py_project( py_requirement("cherrypy"), ], lib_data = [ - "//projects/tentacles/src/tentacles/static/css", + "//projects/tentacles/src/python/tentacles/static/css", ], ) diff --git a/projects/tentacles/src/fastmail.py b/projects/tentacles/src/python/fastmail.py similarity index 100% rename from projects/tentacles/src/fastmail.py rename to projects/tentacles/src/python/fastmail.py diff --git a/projects/tentacles/src/gcode.py b/projects/tentacles/src/python/gcode.py similarity index 100% rename from projects/tentacles/src/gcode.py rename to projects/tentacles/src/python/gcode.py diff --git a/projects/shoggoth/src/ichor/__init__.py b/projects/tentacles/src/python/tentacles/__init__.py similarity index 100% rename from projects/shoggoth/src/ichor/__init__.py rename to projects/tentacles/src/python/tentacles/__init__.py diff --git a/projects/tentacles/src/tentacles/__main__.py b/projects/tentacles/src/python/tentacles/__main__.py similarity index 100% rename from projects/tentacles/src/tentacles/__main__.py rename to projects/tentacles/src/python/tentacles/__main__.py diff --git a/projects/tentacles/src/tentacles/blueprints/admin_ui.py b/projects/tentacles/src/python/tentacles/blueprints/admin_ui.py similarity index 100% rename from projects/tentacles/src/tentacles/blueprints/admin_ui.py rename to projects/tentacles/src/python/tentacles/blueprints/admin_ui.py diff --git a/projects/tentacles/src/tentacles/blueprints/api.py b/projects/tentacles/src/python/tentacles/blueprints/api.py similarity index 100% rename from projects/tentacles/src/tentacles/blueprints/api.py rename to projects/tentacles/src/python/tentacles/blueprints/api.py diff --git a/projects/tentacles/src/tentacles/blueprints/file_ui.py b/projects/tentacles/src/python/tentacles/blueprints/file_ui.py similarity index 100% rename from projects/tentacles/src/tentacles/blueprints/file_ui.py rename to projects/tentacles/src/python/tentacles/blueprints/file_ui.py diff --git a/projects/tentacles/src/tentacles/blueprints/job_ui.py b/projects/tentacles/src/python/tentacles/blueprints/job_ui.py similarity index 100% rename from projects/tentacles/src/tentacles/blueprints/job_ui.py rename to projects/tentacles/src/python/tentacles/blueprints/job_ui.py diff --git a/projects/tentacles/src/tentacles/blueprints/user_ui.py b/projects/tentacles/src/python/tentacles/blueprints/user_ui.py similarity index 100% rename from projects/tentacles/src/tentacles/blueprints/user_ui.py rename to projects/tentacles/src/python/tentacles/blueprints/user_ui.py diff --git a/projects/tentacles/src/tentacles/blueprints/util.py b/projects/tentacles/src/python/tentacles/blueprints/util.py similarity index 100% rename from projects/tentacles/src/tentacles/blueprints/util.py rename to projects/tentacles/src/python/tentacles/blueprints/util.py diff --git a/projects/tentacles/src/tentacles/db.py b/projects/tentacles/src/python/tentacles/db.py similarity index 100% rename from projects/tentacles/src/tentacles/db.py rename to projects/tentacles/src/python/tentacles/db.py diff --git a/projects/tentacles/src/tentacles/globals.py b/projects/tentacles/src/python/tentacles/globals.py similarity index 100% rename from projects/tentacles/src/tentacles/globals.py rename to projects/tentacles/src/python/tentacles/globals.py diff --git a/projects/tentacles/src/tentacles/sql/__init__.py b/projects/tentacles/src/python/tentacles/sql/__init__.py similarity index 100% rename from projects/tentacles/src/tentacles/sql/__init__.py rename to projects/tentacles/src/python/tentacles/sql/__init__.py diff --git a/projects/tentacles/src/tentacles/sql/emails.sql b/projects/tentacles/src/python/tentacles/sql/emails.sql similarity index 100% rename from projects/tentacles/src/tentacles/sql/emails.sql rename to projects/tentacles/src/python/tentacles/sql/emails.sql diff --git a/projects/tentacles/src/tentacles/sql/files.sql b/projects/tentacles/src/python/tentacles/sql/files.sql similarity index 100% rename from projects/tentacles/src/tentacles/sql/files.sql rename to projects/tentacles/src/python/tentacles/sql/files.sql diff --git a/projects/tentacles/src/tentacles/sql/jobs.sql b/projects/tentacles/src/python/tentacles/sql/jobs.sql similarity index 100% rename from projects/tentacles/src/tentacles/sql/jobs.sql rename to projects/tentacles/src/python/tentacles/sql/jobs.sql diff --git a/projects/tentacles/src/tentacles/sql/migrations.sql b/projects/tentacles/src/python/tentacles/sql/migrations.sql similarity index 100% rename from projects/tentacles/src/tentacles/sql/migrations.sql rename to projects/tentacles/src/python/tentacles/sql/migrations.sql diff --git a/projects/tentacles/src/tentacles/sql/printers.sql b/projects/tentacles/src/python/tentacles/sql/printers.sql similarity index 100% rename from projects/tentacles/src/tentacles/sql/printers.sql rename to projects/tentacles/src/python/tentacles/sql/printers.sql diff --git a/projects/tentacles/src/tentacles/sql/user_keys.sql b/projects/tentacles/src/python/tentacles/sql/user_keys.sql similarity index 100% rename from projects/tentacles/src/tentacles/sql/user_keys.sql rename to projects/tentacles/src/python/tentacles/sql/user_keys.sql diff --git a/projects/tentacles/src/tentacles/sql/user_statuses.sql b/projects/tentacles/src/python/tentacles/sql/user_statuses.sql similarity index 100% rename from projects/tentacles/src/tentacles/sql/user_statuses.sql rename to projects/tentacles/src/python/tentacles/sql/user_statuses.sql diff --git a/projects/tentacles/src/tentacles/sql/users.sql b/projects/tentacles/src/python/tentacles/sql/users.sql similarity index 100% rename from projects/tentacles/src/tentacles/sql/users.sql rename to projects/tentacles/src/python/tentacles/sql/users.sql diff --git a/projects/tentacles/src/tentacles/static/__init__.py b/projects/tentacles/src/python/tentacles/static/__init__.py similarity index 100% rename from projects/tentacles/src/tentacles/static/__init__.py rename to projects/tentacles/src/python/tentacles/static/__init__.py diff --git a/projects/tentacles/src/tentacles/static/cancel.svg b/projects/tentacles/src/python/tentacles/static/cancel.svg similarity index 100% rename from projects/tentacles/src/tentacles/static/cancel.svg rename to projects/tentacles/src/python/tentacles/static/cancel.svg diff --git a/projects/tentacles/src/tentacles/static/css/BUILD.bazel b/projects/tentacles/src/python/tentacles/static/css/BUILD similarity index 100% rename from projects/tentacles/src/tentacles/static/css/BUILD.bazel rename to projects/tentacles/src/python/tentacles/static/css/BUILD diff --git a/projects/tentacles/src/tentacles/static/css/_normalize.scss b/projects/tentacles/src/python/tentacles/static/css/_normalize.scss similarity index 100% rename from projects/tentacles/src/tentacles/static/css/_normalize.scss rename to projects/tentacles/src/python/tentacles/static/css/_normalize.scss diff --git a/projects/tentacles/src/tentacles/static/css/_skeleton.scss b/projects/tentacles/src/python/tentacles/static/css/_skeleton.scss similarity index 100% rename from projects/tentacles/src/tentacles/static/css/_skeleton.scss rename to projects/tentacles/src/python/tentacles/static/css/_skeleton.scss diff --git a/projects/tentacles/src/tentacles/static/css/_tirefire.scss b/projects/tentacles/src/python/tentacles/static/css/_tirefire.scss similarity index 100% rename from projects/tentacles/src/tentacles/static/css/_tirefire.scss rename to projects/tentacles/src/python/tentacles/static/css/_tirefire.scss diff --git a/projects/tentacles/src/tentacles/static/css/style.scss b/projects/tentacles/src/python/tentacles/static/css/style.scss similarity index 100% rename from projects/tentacles/src/tentacles/static/css/style.scss rename to projects/tentacles/src/python/tentacles/static/css/style.scss diff --git a/projects/tentacles/src/tentacles/static/css/tirefire/_alerts.scss b/projects/tentacles/src/python/tentacles/static/css/tirefire/_alerts.scss similarity index 100% rename from projects/tentacles/src/tentacles/static/css/tirefire/_alerts.scss rename to projects/tentacles/src/python/tentacles/static/css/tirefire/_alerts.scss diff --git a/projects/tentacles/src/tentacles/static/css/tirefire/_basics.scss b/projects/tentacles/src/python/tentacles/static/css/tirefire/_basics.scss similarity index 100% rename from projects/tentacles/src/tentacles/static/css/tirefire/_basics.scss rename to projects/tentacles/src/python/tentacles/static/css/tirefire/_basics.scss diff --git a/projects/tentacles/src/tentacles/static/css/tirefire/_colors.scss b/projects/tentacles/src/python/tentacles/static/css/tirefire/_colors.scss similarity index 100% rename from projects/tentacles/src/tentacles/static/css/tirefire/_colors.scss rename to projects/tentacles/src/python/tentacles/static/css/tirefire/_colors.scss diff --git a/projects/tentacles/src/tentacles/static/css/tirefire/_dots.scss b/projects/tentacles/src/python/tentacles/static/css/tirefire/_dots.scss similarity index 100% rename from projects/tentacles/src/tentacles/static/css/tirefire/_dots.scss rename to projects/tentacles/src/python/tentacles/static/css/tirefire/_dots.scss diff --git a/projects/tentacles/src/tentacles/static/css/tirefire/_fonts.scss b/projects/tentacles/src/python/tentacles/static/css/tirefire/_fonts.scss similarity index 100% rename from projects/tentacles/src/tentacles/static/css/tirefire/_fonts.scss rename to projects/tentacles/src/python/tentacles/static/css/tirefire/_fonts.scss diff --git a/projects/tentacles/src/tentacles/static/css/tirefire/_nav.scss b/projects/tentacles/src/python/tentacles/static/css/tirefire/_nav.scss similarity index 100% rename from projects/tentacles/src/tentacles/static/css/tirefire/_nav.scss rename to projects/tentacles/src/python/tentacles/static/css/tirefire/_nav.scss diff --git a/projects/tentacles/src/tentacles/static/css/tirefire/_timers.scss b/projects/tentacles/src/python/tentacles/static/css/tirefire/_timers.scss similarity index 100% rename from projects/tentacles/src/tentacles/static/css/tirefire/_timers.scss rename to projects/tentacles/src/python/tentacles/static/css/tirefire/_timers.scss diff --git a/projects/tentacles/src/tentacles/static/css/tirefire/_tooltips.scss b/projects/tentacles/src/python/tentacles/static/css/tirefire/_tooltips.scss similarity index 100% rename from projects/tentacles/src/tentacles/static/css/tirefire/_tooltips.scss rename to projects/tentacles/src/python/tentacles/static/css/tirefire/_tooltips.scss diff --git a/projects/tentacles/src/tentacles/static/delete.svg b/projects/tentacles/src/python/tentacles/static/delete.svg similarity index 100% rename from projects/tentacles/src/tentacles/static/delete.svg rename to projects/tentacles/src/python/tentacles/static/delete.svg diff --git a/projects/tentacles/src/tentacles/static/download.svg b/projects/tentacles/src/python/tentacles/static/download.svg similarity index 100% rename from projects/tentacles/src/tentacles/static/download.svg rename to projects/tentacles/src/python/tentacles/static/download.svg diff --git a/projects/tentacles/src/tentacles/static/font/AauxNextBlk.otf b/projects/tentacles/src/python/tentacles/static/font/AauxNextBlk.otf similarity index 100% rename from projects/tentacles/src/tentacles/static/font/AauxNextBlk.otf rename to projects/tentacles/src/python/tentacles/static/font/AauxNextBlk.otf diff --git a/projects/tentacles/src/tentacles/static/font/aauxnextbdwebfont.otf b/projects/tentacles/src/python/tentacles/static/font/aauxnextbdwebfont.otf similarity index 100% rename from projects/tentacles/src/tentacles/static/font/aauxnextbdwebfont.otf rename to projects/tentacles/src/python/tentacles/static/font/aauxnextbdwebfont.otf diff --git a/projects/tentacles/src/tentacles/static/font/aauxnextltwebfont.otf b/projects/tentacles/src/python/tentacles/static/font/aauxnextltwebfont.otf similarity index 100% rename from projects/tentacles/src/tentacles/static/font/aauxnextltwebfont.otf rename to projects/tentacles/src/python/tentacles/static/font/aauxnextltwebfont.otf diff --git a/projects/tentacles/src/tentacles/static/font/aauxnextmdwebfont.otf b/projects/tentacles/src/python/tentacles/static/font/aauxnextmdwebfont.otf similarity index 100% rename from projects/tentacles/src/tentacles/static/font/aauxnextmdwebfont.otf rename to projects/tentacles/src/python/tentacles/static/font/aauxnextmdwebfont.otf diff --git a/projects/tentacles/src/tentacles/static/print.svg b/projects/tentacles/src/python/tentacles/static/print.svg similarity index 100% rename from projects/tentacles/src/tentacles/static/print.svg rename to projects/tentacles/src/python/tentacles/static/print.svg diff --git a/projects/tentacles/src/tentacles/static/tentacles.svg b/projects/tentacles/src/python/tentacles/static/tentacles.svg similarity index 100% rename from projects/tentacles/src/tentacles/static/tentacles.svg rename to projects/tentacles/src/python/tentacles/static/tentacles.svg diff --git a/projects/tentacles/src/tentacles/templates/__init__.py b/projects/tentacles/src/python/tentacles/templates/__init__.py similarity index 100% rename from projects/tentacles/src/tentacles/templates/__init__.py rename to projects/tentacles/src/python/tentacles/templates/__init__.py diff --git a/projects/tentacles/src/tentacles/templates/add_printer.html.j2 b/projects/tentacles/src/python/tentacles/templates/add_printer.html.j2 similarity index 100% rename from projects/tentacles/src/tentacles/templates/add_printer.html.j2 rename to projects/tentacles/src/python/tentacles/templates/add_printer.html.j2 diff --git a/projects/tentacles/src/tentacles/templates/admin.html.j2 b/projects/tentacles/src/python/tentacles/templates/admin.html.j2 similarity index 100% rename from projects/tentacles/src/tentacles/templates/admin.html.j2 rename to projects/tentacles/src/python/tentacles/templates/admin.html.j2 diff --git a/projects/tentacles/src/tentacles/templates/analysis_failure_email.html.j2 b/projects/tentacles/src/python/tentacles/templates/analysis_failure_email.html.j2 similarity index 100% rename from projects/tentacles/src/tentacles/templates/analysis_failure_email.html.j2 rename to projects/tentacles/src/python/tentacles/templates/analysis_failure_email.html.j2 diff --git a/projects/tentacles/src/tentacles/templates/approval_email.html.j2 b/projects/tentacles/src/python/tentacles/templates/approval_email.html.j2 similarity index 100% rename from projects/tentacles/src/tentacles/templates/approval_email.html.j2 rename to projects/tentacles/src/python/tentacles/templates/approval_email.html.j2 diff --git a/projects/tentacles/src/tentacles/templates/base.html.j2 b/projects/tentacles/src/python/tentacles/templates/base.html.j2 similarity index 100% rename from projects/tentacles/src/tentacles/templates/base.html.j2 rename to projects/tentacles/src/python/tentacles/templates/base.html.j2 diff --git a/projects/tentacles/src/tentacles/templates/edit_printer.html.j2 b/projects/tentacles/src/python/tentacles/templates/edit_printer.html.j2 similarity index 100% rename from projects/tentacles/src/tentacles/templates/edit_printer.html.j2 rename to projects/tentacles/src/python/tentacles/templates/edit_printer.html.j2 diff --git a/projects/tentacles/src/tentacles/templates/files.html.j2 b/projects/tentacles/src/python/tentacles/templates/files.html.j2 similarity index 100% rename from projects/tentacles/src/tentacles/templates/files.html.j2 rename to projects/tentacles/src/python/tentacles/templates/files.html.j2 diff --git a/projects/tentacles/src/tentacles/templates/files_admin_list.html.j2 b/projects/tentacles/src/python/tentacles/templates/files_admin_list.html.j2 similarity index 100% rename from projects/tentacles/src/tentacles/templates/files_admin_list.html.j2 rename to projects/tentacles/src/python/tentacles/templates/files_admin_list.html.j2 diff --git a/projects/tentacles/src/tentacles/templates/files_list.html.j2 b/projects/tentacles/src/python/tentacles/templates/files_list.html.j2 similarity index 100% rename from projects/tentacles/src/tentacles/templates/files_list.html.j2 rename to projects/tentacles/src/python/tentacles/templates/files_list.html.j2 diff --git a/projects/tentacles/src/tentacles/templates/index.html.j2 b/projects/tentacles/src/python/tentacles/templates/index.html.j2 similarity index 100% rename from projects/tentacles/src/tentacles/templates/index.html.j2 rename to projects/tentacles/src/python/tentacles/templates/index.html.j2 diff --git a/projects/tentacles/src/tentacles/templates/jobs.html.j2 b/projects/tentacles/src/python/tentacles/templates/jobs.html.j2 similarity index 100% rename from projects/tentacles/src/tentacles/templates/jobs.html.j2 rename to projects/tentacles/src/python/tentacles/templates/jobs.html.j2 diff --git a/projects/tentacles/src/tentacles/templates/jobs_history.html.j2 b/projects/tentacles/src/python/tentacles/templates/jobs_history.html.j2 similarity index 100% rename from projects/tentacles/src/tentacles/templates/jobs_history.html.j2 rename to projects/tentacles/src/python/tentacles/templates/jobs_history.html.j2 diff --git a/projects/tentacles/src/tentacles/templates/jobs_list.html.j2 b/projects/tentacles/src/python/tentacles/templates/jobs_list.html.j2 similarity index 100% rename from projects/tentacles/src/tentacles/templates/jobs_list.html.j2 rename to projects/tentacles/src/python/tentacles/templates/jobs_list.html.j2 diff --git a/projects/tentacles/src/tentacles/templates/login.html.j2 b/projects/tentacles/src/python/tentacles/templates/login.html.j2 similarity index 100% rename from projects/tentacles/src/tentacles/templates/login.html.j2 rename to projects/tentacles/src/python/tentacles/templates/login.html.j2 diff --git a/projects/tentacles/src/tentacles/templates/macros.html.j2 b/projects/tentacles/src/python/tentacles/templates/macros.html.j2 similarity index 100% rename from projects/tentacles/src/tentacles/templates/macros.html.j2 rename to projects/tentacles/src/python/tentacles/templates/macros.html.j2 diff --git a/projects/tentacles/src/tentacles/templates/printers.html.j2 b/projects/tentacles/src/python/tentacles/templates/printers.html.j2 similarity index 100% rename from projects/tentacles/src/tentacles/templates/printers.html.j2 rename to projects/tentacles/src/python/tentacles/templates/printers.html.j2 diff --git a/projects/tentacles/src/tentacles/templates/printers_list.html.j2 b/projects/tentacles/src/python/tentacles/templates/printers_list.html.j2 similarity index 100% rename from projects/tentacles/src/tentacles/templates/printers_list.html.j2 rename to projects/tentacles/src/python/tentacles/templates/printers_list.html.j2 diff --git a/projects/tentacles/src/tentacles/templates/register.html.j2 b/projects/tentacles/src/python/tentacles/templates/register.html.j2 similarity index 100% rename from projects/tentacles/src/tentacles/templates/register.html.j2 rename to projects/tentacles/src/python/tentacles/templates/register.html.j2 diff --git a/projects/tentacles/src/tentacles/templates/streams.html.j2 b/projects/tentacles/src/python/tentacles/templates/streams.html.j2 similarity index 100% rename from projects/tentacles/src/tentacles/templates/streams.html.j2 rename to projects/tentacles/src/python/tentacles/templates/streams.html.j2 diff --git a/projects/tentacles/src/tentacles/templates/user.html.j2 b/projects/tentacles/src/python/tentacles/templates/user.html.j2 similarity index 100% rename from projects/tentacles/src/tentacles/templates/user.html.j2 rename to projects/tentacles/src/python/tentacles/templates/user.html.j2 diff --git a/projects/tentacles/src/tentacles/templates/users_list.html.j2 b/projects/tentacles/src/python/tentacles/templates/users_list.html.j2 similarity index 100% rename from projects/tentacles/src/tentacles/templates/users_list.html.j2 rename to projects/tentacles/src/python/tentacles/templates/users_list.html.j2 diff --git a/projects/tentacles/src/tentacles/templates/verification_email.html.j2 b/projects/tentacles/src/python/tentacles/templates/verification_email.html.j2 similarity index 100% rename from projects/tentacles/src/tentacles/templates/verification_email.html.j2 rename to projects/tentacles/src/python/tentacles/templates/verification_email.html.j2 diff --git a/projects/tentacles/src/tentacles/workers.py b/projects/tentacles/src/python/tentacles/workers.py similarity index 100% rename from projects/tentacles/src/tentacles/workers.py rename to projects/tentacles/src/python/tentacles/workers.py diff --git a/projects/tentacles/src/tentacles/__init__.py b/projects/tentacles/src/tentacles/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/projects/tentacles/test/conftest.py b/projects/tentacles/test/python/conftest.py similarity index 100% rename from projects/tentacles/test/conftest.py rename to projects/tentacles/test/python/conftest.py diff --git a/projects/tentacles/test/test_gcode.py b/projects/tentacles/test/python/test_gcode.py similarity index 100% rename from projects/tentacles/test/test_gcode.py rename to projects/tentacles/test/python/test_gcode.py diff --git a/projects/tentacles/test/test_store.py b/projects/tentacles/test/python/test_store.py similarity index 100% rename from projects/tentacles/test/test_store.py rename to projects/tentacles/test/python/test_store.py diff --git a/projects/tentacles/test/test_store_users.py b/projects/tentacles/test/python/test_store_users.py similarity index 100% rename from projects/tentacles/test/test_store_users.py rename to projects/tentacles/test/python/test_store_users.py diff --git a/projects/vfs/BUILD.bazel b/projects/vfs/BUILD similarity index 100% rename from projects/vfs/BUILD.bazel rename to projects/vfs/BUILD diff --git a/projects/vfs/src/vfs/__init__.py b/projects/vfs/src/python/vfs/__init__.py similarity index 100% rename from projects/vfs/src/vfs/__init__.py rename to projects/vfs/src/python/vfs/__init__.py diff --git a/projects/vfs/src/vfs/impl.py b/projects/vfs/src/python/vfs/impl.py similarity index 100% rename from projects/vfs/src/vfs/impl.py rename to projects/vfs/src/python/vfs/impl.py diff --git a/projects/yamlschema/BUILD.bazel b/projects/yamlschema/BUILD similarity index 100% rename from projects/yamlschema/BUILD.bazel rename to projects/yamlschema/BUILD diff --git a/projects/yamlschema/src/yamlschema/__init__.py b/projects/yamlschema/src/python/yamlschema/__init__.py similarity index 100% rename from projects/yamlschema/src/yamlschema/__init__.py rename to projects/yamlschema/src/python/yamlschema/__init__.py diff --git a/projects/yamlschema/test/test_yamlschema.py b/projects/yamlschema/test/python/test_yamlschema.py similarity index 100% rename from projects/yamlschema/test/test_yamlschema.py rename to projects/yamlschema/test/python/test_yamlschema.py diff --git a/tools/autoflake/BUILD.bazel b/tools/autoflake/BUILD similarity index 100% rename from tools/autoflake/BUILD.bazel rename to tools/autoflake/BUILD diff --git a/tools/black/BUILD.bazel b/tools/black/BUILD similarity index 100% rename from tools/black/BUILD.bazel rename to tools/black/BUILD diff --git a/tools/build_rules/BUILD.bazel b/tools/build_rules/BUILD similarity index 100% rename from tools/build_rules/BUILD.bazel rename to tools/build_rules/BUILD diff --git a/tools/build_rules/prelude_bazel b/tools/build_rules/prelude_bazel index 2b615ad..97565b3 100644 --- a/tools/build_rules/prelude_bazel +++ b/tools/build_rules/prelude_bazel @@ -36,3 +36,10 @@ load("//tools/build_rules:webp.bzl", load("@rules_zapp//zapp:zapp.bzl", "zapp_binary", ) + +load( + "@io_bazel_rules_docker//container:container.bzl", + "container_image", + "container_bundle", + "container_push", +) diff --git a/tools/flake8/BUILD.bazel b/tools/flake8/BUILD similarity index 100% rename from tools/flake8/BUILD.bazel rename to tools/flake8/BUILD diff --git a/tools/isort/BUILD.bazel b/tools/isort/BUILD similarity index 100% rename from tools/isort/BUILD.bazel rename to tools/isort/BUILD diff --git a/tools/openapi/BUILD.bazel b/tools/openapi/BUILD similarity index 100% rename from tools/openapi/BUILD.bazel rename to tools/openapi/BUILD diff --git a/tools/python/BUILD.bazel b/tools/python/BUILD similarity index 94% rename from tools/python/BUILD.bazel rename to tools/python/BUILD index 860a229..181f52e 100644 --- a/tools/python/BUILD.bazel +++ b/tools/python/BUILD @@ -40,5 +40,8 @@ py_pytest( srcs = [ "test_licenses.py", ], + data = [ + "requirements.txt", + ], deps = all_requirements, ) diff --git a/tools/python/defs.bzl b/tools/python/defs.bzl index a375abf..4e750bd 100644 --- a/tools/python/defs.bzl +++ b/tools/python/defs.bzl @@ -170,7 +170,7 @@ def py_project(name=None, """ A helper for defining conventionally-formatted python project. - Assumes that there's a {src,test}/ where src/ is a library and test/ is local tests only. + Assumes that there's a {src,test}/{resources,python} where src/ is a library and test/ is local tests only. Each test_*.py source generates its own implicit test target. This allows for automatic test parallelism. Non test_*.py files are implicitly srcs for the generated test targets. This is the same as making them implicitly a @@ -179,26 +179,28 @@ def py_project(name=None, """ lib_srcs = (lib_srcs or []) + \ - native.glob(["src/**/*.py"], + native.glob(["src/python/**/*.py"], exclude=[ "**/*.pyc", ]) lib_data = (lib_data or []) + \ - native.glob(["src/**/*"], + native.glob(["src/resources/**/*", + "src/python/**/*"], exclude=[ "**/*.py", "**/*.pyc", ]) test_srcs = (test_srcs or []) + \ - native.glob(["test/**/*.py"], + native.glob(["test/python/**/*.py"], exclude=[ "**/*.pyc", ]) test_data = (test_data or []) + \ - native.glob(["test/**/*"], + native.glob(["test/resources/**/*", + "test/python/**/*"], exclude=[ "**/*.py", "**/*.pyc", @@ -212,7 +214,8 @@ def py_project(name=None, deps=lib_deps, data=lib_data, imports=[ - "src", + "src/python", + "src/resources", ], visibility = [ "//visibility:public", @@ -226,7 +229,8 @@ def py_project(name=None, deps=(main_deps or []) + [lib_name], data=(main_data or []), imports=[ - "src", + "src/python", + "src/resources", ], visibility = [ "//visibility:public", @@ -239,7 +243,8 @@ def py_project(name=None, deps=(main_deps or []) + [lib_name], data=lib_data, imports=[ - "src", + "src/python", + "src/resources", ], visibility = [ "//visibility:public", @@ -251,7 +256,7 @@ def py_project(name=None, for src in test_srcs: if "test_" in src: py_pytest( - name=src.split("/")[-1].replace(".py", ""), + name=src.split("/")[-1], srcs=[src] + [f for f in test_srcs if "test_" not in f], deps=[lib_name] + (test_deps or []), data=test_data, diff --git a/tools/python/requirements_lock.txt b/tools/python/requirements_lock.txt index 3e0862b..912d645 100644 --- a/tools/python/requirements_lock.txt +++ b/tools/python/requirements_lock.txt @@ -1,63 +1,62 @@ -aiohttp==3.9.3 +aiohttp==3.8.5 aiohttp-basicauth==1.0.0 aiosignal==1.3.1 -aiosql==9.4 +aiosql==9.0 alabaster==0.7.13 annotated-types==0.5.0 async-lru==2.0.4 async-timeout==4.0.2 -attrs==23.2.0 +attrs==23.1.0 autocommand==2.2.2 -autoflake==2.2.1 +autoflake==2.2.0 Babel==2.12.1 -beautifulsoup4==4.12.3 -black==24.1.1 +beautifulsoup4==4.12.2 +black==23.7.0 blinker==1.6.2 build==0.10.0 -cachetools==5.3.2 +cachetools==5.3.1 certifi==2023.7.22 charset-normalizer==3.2.0 cheroot==10.0.0 CherryPy==18.8.0 -click==8.1.7 -colored==2.2.4 +click==8.1.6 +colored==2.2.3 commonmark==0.9.1 coverage==7.2.7 decorator==5.1.1 deepmerge==1.1.0 docutils==0.20.1 ExifRead==3.0.0 -flake8==7.0.0 -Flask==3.0.2 +flake8==6.0.0 +Flask==2.3.2 frozenlist==1.4.0 -hypothesis==6.98.2 -ibis==3.3.0 -icmplib==3.0.4 +hypothesis==6.82.0 +ibis==3.2.0 +icmplib==3.0.3 idna==3.4 imagesize==1.4.1 inflect==7.0.0 iniconfig==2.0.0 -isort==5.13.2 +isort==5.12.0 itsdangerous==2.1.2 jaraco.collections==4.3.0 jaraco.context==4.3.0 jaraco.functools==3.8.0 jaraco.text @ git+https://github.com/arrdem/jaraco.text.git@0dd8d0b25a93c3fad896f3a92d11caff61ff273d jedi==0.18.2 -Jinja2==3.1.3 +Jinja2==3.1.2 jsonschema==4.18.4 -jsonschema-path==0.3.2 jsonschema-spec==0.2.3 jsonschema-specifications==2023.7.1 -lark==1.1.9 +lark==1.1.7 lazy-object-proxy==1.9.0 -libsass==0.23.0 +libsass==0.22.0 livereload==2.6.3 -lxml==5.1.0 -Markdown==3.5.2 +lxml==4.9.3 +Markdown==3.4.4 MarkupSafe==2.1.3 mccabe==0.7.0 -meraki==1.42.0 +meraki==1.34.0 mirakuru==2.5.1 mistune==2.0.5 more-itertools==10.0.0 @@ -65,43 +64,43 @@ multidict==6.0.4 mypy-extensions==1.0.0 octorest==0.4 openapi-schema-validator==0.6.0 -openapi-spec-validator==0.7.1 +openapi-spec-validator==0.6.0 packaging==23.1 parso==0.8.3 pathable==0.4.3 pathspec==0.11.1 picobox==3.0.0 pip==23.1.2 -pip-tools==7.3.0 +pip-tools==7.1.0 platformdirs==3.9.1 pluggy==1.2.0 port-for==0.7.1 portend==3.2.0 -prompt-toolkit==3.0.43 +prompt-toolkit==3.0.39 proquint==0.2.1 psutil==5.9.5 psycopg==3.1.9 -psycopg2==2.9.9 +psycopg2==2.9.6 pudb==2022.1.3 py==1.11.0 -pycodestyle==2.11.1 -pycryptodome==3.20.0 +pycodestyle==2.10.0 +pycryptodome==3.18.0 pydantic==2.1.1 pydantic_core==2.4.0 -pyflakes==3.2.0 +pyflakes==3.0.1 Pygments==2.15.1 pyproject_hooks==1.0.0 -pyrsistent==0.20.0 +pyrsistent==0.19.3 pytest==7.4.0 pytest-cov==4.1.0 -pytest-postgresql==5.1.0 +pytest-postgresql==5.0.0 pytest-pudb==0.7.0 -pytest-timeout==2.2.0 +pytest-timeout==2.1.0 pytimeparse==1.1.8 pytz==2023.3 PyYAML==6.0.1 recommonmark==0.7.1 -redis==5.0.1 +redis==4.6.0 referencing==0.29.3 requests==2.31.0 retry==0.9.2 @@ -109,21 +108,21 @@ rfc3339-validator==0.1.4 rpds-py==0.9.2 setuptools==68.0.0 six==1.16.0 -smbus2==0.4.3 +smbus2==0.4.2 snowballstemmer==2.2.0 sortedcontainers==2.4.0 soupsieve==2.4.1 -Sphinx==7.2.6 +Sphinx==7.1.1 sphinx_mdinclude==0.5.3 sphinxcontrib-applehelp==1.0.4 sphinxcontrib-devhelp==1.0.2 sphinxcontrib-htmlhelp==2.0.1 sphinxcontrib-httpdomain==1.8.1 sphinxcontrib-jsmath==1.0.1 -sphinxcontrib-openapi==0.8.3 +sphinxcontrib-openapi==0.8.1 sphinxcontrib-programoutput==0.17 sphinxcontrib-qthelp==1.0.3 -sphinxcontrib-serializinghtml==1.1.10 +sphinxcontrib-serializinghtml==1.1.5 tempora==5.5.0 termcolor==2.3.0 toml==0.10.2 @@ -136,9 +135,9 @@ urwid==2.1.2 urwid-readline==0.13 wcwidth==0.2.6 websocket-client==1.6.1 -Werkzeug==3.0.1 +Werkzeug==2.3.6 wheel==0.40.0 -yamllint==1.34.0 +yamllint==1.32.0 yarl==1.9.2 -yaspin==3.0.1 +yaspin==2.3.0 zc.lockfile==3.0.post1 diff --git a/tools/python/test_licenses.py b/tools/python/test_licenses.py index 32e9515..32e7246 100644 --- a/tools/python/test_licenses.py +++ b/tools/python/test_licenses.py @@ -22,11 +22,8 @@ APPROVED_LICENSES = [ MPL20 := "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)", PSFL := "License :: OSI Approved :: Python Software Foundation License", LGPL := "License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)", - LGPL3 := 'License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)', - LGPL3P := "License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)", + LGPL3 := "License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)", ISCL := "License :: OSI Approved :: ISC License (ISCL)", - ZOPE := 'License :: OSI Approved :: Zope Public License', - PUBLIC := 'License :: Public Domain', ] UNAPPROVED_LICENSES = [ @@ -38,7 +35,6 @@ UNAPPROVED_LICENSES = [ # This data is GARBO. LICENSES_BY_LOWERNAME = { "apache 2.0": APACHE, - "apache 2": APACHE, "apache": APACHE, "http://www.apache.org/licenses/license-2.0": APACHE, "bsd 3": BSD, @@ -65,8 +61,6 @@ APPROVED_PACKAGES = [ "yamllint", # WARNING: YAMLLINT IS GLP3"d. "Flask_Log_Request_ID", # MIT, currently depended on as a git dep. "anosql", # BSD - "pathable", # Apache 2 - "proquint", # MIT ] @@ -132,7 +126,7 @@ def licenses(dist: DistInfoDistribution): if not lics: lics.append(license) - return [l.strip() for l in lics] + return lics @pytest.mark.parametrize( diff --git a/tools/sass/BUILD.bazel b/tools/sass/BUILD similarity index 100% rename from tools/sass/BUILD.bazel rename to tools/sass/BUILD diff --git a/tools/sphinx/BUILD.bazel b/tools/sphinx/BUILD similarity index 100% rename from tools/sphinx/BUILD.bazel rename to tools/sphinx/BUILD diff --git a/tools/unify/BUILD.bazel b/tools/unify/BUILD similarity index 100% rename from tools/unify/BUILD.bazel rename to tools/unify/BUILD diff --git a/tools/xfmt/BUILD.bazel b/tools/xfmt/BUILD similarity index 100% rename from tools/xfmt/BUILD.bazel rename to tools/xfmt/BUILD diff --git a/tools/yamllint/BUILD.bazel b/tools/yamllint/BUILD similarity index 100% rename from tools/yamllint/BUILD.bazel rename to tools/yamllint/BUILD