diff --git a/jobs/gtfs-schedule-validator/Dockerfile b/jobs/gtfs-schedule-validator/Dockerfile index 5bcce56fea..c671ea6553 100644 --- a/jobs/gtfs-schedule-validator/Dockerfile +++ b/jobs/gtfs-schedule-validator/Dockerfile @@ -8,10 +8,10 @@ RUN apt-get update -y \ RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py | python3 - ENV PATH="/root/.local/bin:${PATH}" -ENV GTFS_SCHEDULE_VALIDATOR_JAR=/gtfs-validator-3.1.1-cli.jar -ENV GTFS_SCHEDULE_VALIDATOR_VERSION=v3.1.1 -# from https://github.com/MobilityData/gtfs-validator/releases/download/v3.1.1/gtfs-validator-3.1.1-cli.jar -COPY ./gtfs-validator-3.1.1-cli.jar ${GTFS_SCHEDULE_VALIDATOR_JAR} +ENV GTFS_SCHEDULE_VALIDATOR_JAR=/gtfs-validator-4.0.0-cli.jar +ENV GTFS_SCHEDULE_VALIDATOR_VERSION=v4.0.0 +# from https://github.com/MobilityData/gtfs-validator/releases/download/v4.0.0/gtfs-validator-4.0.0-cli.jar +COPY ./gtfs-validator-4.0.0-cli.jar ${GTFS_SCHEDULE_VALIDATOR_JAR} WORKDIR /app diff --git a/jobs/gtfs-schedule-validator/gtfs-validator-4.0.0-cli.jar b/jobs/gtfs-schedule-validator/gtfs-validator-4.0.0-cli.jar new file mode 100644 index 0000000000..326af46748 Binary files /dev/null and b/jobs/gtfs-schedule-validator/gtfs-validator-4.0.0-cli.jar differ diff --git a/jobs/gtfs-schedule-validator/poetry.lock b/jobs/gtfs-schedule-validator/poetry.lock index 7d5cb5443b..5097ec1fdb 100644 --- a/jobs/gtfs-schedule-validator/poetry.lock +++ b/jobs/gtfs-schedule-validator/poetry.lock @@ -1,6 +1,6 @@ [[package]] name = "aiohttp" -version = "3.8.1" +version = "3.8.3" description = "Async http client/server framework (asyncio)" category = "main" optional = false @@ -20,11 +20,11 @@ speedups = ["aiodns", "brotli", "cchardet"] [[package]] name = "aiosignal" -version = "1.2.0" +version = "1.3.1" description = "aiosignal: a list of registered asynchronous callbacks" category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" [package.dependencies] frozenlist = ">=1.1.0" @@ -61,7 +61,7 @@ tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (> [[package]] name = "backoff" -version = "2.1.2" +version = "2.2.1" description = "Function decoration for backoff and retry" category = "main" optional = false @@ -69,11 +69,11 @@ python-versions = ">=3.7,<4.0" [[package]] name = "cachetools" -version = "4.2.4" +version = "5.2.0" description = "Extensible memoizing collections and decorators" category = "main" optional = false -python-versions = "~=3.5" +python-versions = "~=3.7" [[package]] name = "calitp" @@ -103,7 +103,7 @@ tqdm = ">=4.64.0,<5.0.0" [[package]] name = "certifi" -version = "2022.6.15" +version = "2022.9.24" description = "Python package for providing Mozilla's CA Bundle." category = "main" optional = false @@ -133,11 +133,11 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} [[package]] name = "colorama" -version = "0.4.5" +version = "0.4.6" description = "Cross-platform colored terminal text." category = "main" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" [[package]] name = "decorator" @@ -149,7 +149,7 @@ python-versions = ">=3.5" [[package]] name = "frozenlist" -version = "1.3.1" +version = "1.3.3" description = "A list-like structure which implements collections.abc.MutableSequence" category = "main" optional = false @@ -157,7 +157,7 @@ python-versions = ">=3.7" [[package]] name = "fsspec" -version = "2022.8.2" +version = "2022.11.0" description = "File-system specification" category = "main" optional = false @@ -196,7 +196,7 @@ python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" [[package]] name = "gcsfs" -version = "2022.8.2" +version = "2022.11.0" description = "Convenient Filesystem interface over GCS" category = "main" optional = false @@ -205,7 +205,7 @@ python-versions = ">=3.7" [package.dependencies] aiohttp = "<4.0.0a0 || >4.0.0a0,<4.0.0a1 || >4.0.0a1" decorator = ">4.1.2" -fsspec = "2022.8.2" +fsspec = "2022.11.0" google-auth = ">=1.2" google-auth-oauthlib = "*" google-cloud-storage = "*" @@ -217,56 +217,55 @@ gcsfuse = ["fusepy"] [[package]] name = "google-api-core" -version = "1.32.0" +version = "1.33.2" description = "Google API client core library" category = "main" optional = false -python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*" +python-versions = ">=3.7" [package.dependencies] -google-auth = ">=1.25.0,<2.0dev" -googleapis-common-protos = ">=1.6.0,<2.0dev" -grpcio = {version = ">=1.29.0,<2.0dev", optional = true, markers = "extra == \"grpc\""} -packaging = ">=14.3" -protobuf = {version = ">=3.12.0,<4.0.0dev", markers = "python_version > \"3\""} -pytz = "*" +google-auth = ">=1.25.0,<3.0dev" +googleapis-common-protos = ">=1.56.2,<2.0dev" +grpcio = {version = ">=1.33.2,<2.0dev", optional = true, markers = "extra == \"grpc\""} +grpcio-status = {version = ">=1.33.2,<2.0dev", optional = true, markers = "extra == \"grpc\""} +protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.0.0dev" requests = ">=2.18.0,<3.0.0dev" -six = ">=1.13.0" [package.extras] -grpc = ["grpcio (>=1.29.0,<2.0dev)"] -grpcgcp = ["grpcio-gcp (>=0.2.2)"] -grpcio-gcp = ["grpcio-gcp (>=0.2.2)"] +grpc = ["grpcio (>=1.33.2,<2.0dev)", "grpcio-status (>=1.33.2,<2.0dev)"] +grpcgcp = ["grpcio-gcp (>=0.2.2,<1.0dev)"] +grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0dev)"] [[package]] name = "google-auth" -version = "1.35.0" +version = "2.14.1" description = "Google Authentication Library" category = "main" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*" [package.dependencies] -cachetools = ">=2.0.0,<5.0" +cachetools = ">=2.0.0,<6.0" pyasn1-modules = ">=0.2.1" rsa = {version = ">=3.1.4,<5", markers = "python_version >= \"3.6\""} six = ">=1.9.0" [package.extras] aiohttp = ["requests (>=2.20.0,<3.0.0dev)", "aiohttp (>=3.6.2,<4.0.0dev)"] -pyopenssl = ["pyopenssl (>=20.0.0)"] +enterprise_cert = ["cryptography (==36.0.2)", "pyopenssl (==22.0.0)"] +pyopenssl = ["pyopenssl (>=20.0.0)", "cryptography (>=38.0.3)"] reauth = ["pyu2f (>=0.1.5)"] [[package]] name = "google-auth-oauthlib" -version = "0.5.2" +version = "0.7.1" description = "Google Authentication Library" category = "main" optional = false python-versions = ">=3.6" [package.dependencies] -google-auth = ">=1.0.0" +google-auth = ">=2.14.0" requests-oauthlib = ">=0.7.0" [package.extras] @@ -340,7 +339,7 @@ grpc = ["grpcio (>=1.38.0,<2.0dev)"] [[package]] name = "google-cloud-storage" -version = "2.5.0" +version = "2.6.0" description = "Google Cloud Storage API client library" category = "main" optional = false @@ -369,11 +368,11 @@ testing = ["pytest"] [[package]] name = "google-resumable-media" -version = "2.3.3" +version = "2.4.0" description = "Utilities for Google Media Downloads and Resumable Uploads" category = "main" optional = false -python-versions = ">= 3.6" +python-versions = ">= 3.7" [package.dependencies] google-crc32c = ">=1.0,<2.0dev" @@ -398,28 +397,42 @@ grpc = ["grpcio (>=1.0.0,<2.0.0dev)"] [[package]] name = "greenlet" -version = "1.1.3" +version = "2.0.1" description = "Lightweight in-process concurrent programming" category = "main" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" [package.extras] -docs = ["sphinx"] +docs = ["sphinx", "docutils (<0.18)"] +test = ["objgraph", "psutil", "faulthandler"] [[package]] name = "grpcio" -version = "1.48.0" +version = "1.50.0" description = "HTTP/2-based RPC framework" category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" [package.dependencies] six = ">=1.5.2" [package.extras] -protobuf = ["grpcio-tools (>=1.48.0)"] +protobuf = ["grpcio-tools (>=1.50.0)"] + +[[package]] +name = "grpcio-status" +version = "1.48.2" +description = "Status proto mapping for gRPC" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +googleapis-common-protos = ">=1.5.5" +grpcio = ">=1.48.2" +protobuf = ">=3.12.0" [[package]] name = "gtfs-realtime-bindings" @@ -434,7 +447,7 @@ protobuf = "*" [[package]] name = "humanize" -version = "4.3.0" +version = "4.4.0" description = "Python humanize utilities" category = "main" optional = false @@ -445,7 +458,7 @@ tests = ["freezegun", "pytest", "pytest-cov"] [[package]] name = "idna" -version = "3.3" +version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" category = "main" optional = false @@ -475,11 +488,11 @@ python-versions = ">=3.7" [[package]] name = "more-itertools" -version = "8.14.0" +version = "9.0.0" description = "More routines for operating on iterables, beyond itertools" category = "dev" optional = false -python-versions = ">=3.5" +python-versions = ">=3.7" [[package]] name = "multidict" @@ -491,7 +504,7 @@ python-versions = ">=3.7" [[package]] name = "numpy" -version = "1.23.2" +version = "1.23.4" description = "NumPy is the fundamental package for array computing with Python." category = "main" optional = false @@ -499,7 +512,7 @@ python-versions = ">=3.8" [[package]] name = "oauthlib" -version = "3.2.1" +version = "3.2.2" description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" category = "main" optional = false @@ -523,7 +536,7 @@ pyparsing = ">=2.0.2,<3.0.5 || >3.0.5" [[package]] name = "pandas" -version = "1.4.4" +version = "1.5.1" description = "Powerful data structures for data analysis, time series, and statistics" category = "main" optional = false @@ -531,16 +544,14 @@ python-versions = ">=3.8" [package.dependencies] numpy = [ - {version = ">=1.18.5", markers = "platform_machine != \"aarch64\" and platform_machine != \"arm64\" and python_version < \"3.10\""}, - {version = ">=1.19.2", markers = "platform_machine == \"aarch64\" and python_version < \"3.10\""}, - {version = ">=1.20.0", markers = "platform_machine == \"arm64\" and python_version < \"3.10\""}, {version = ">=1.21.0", markers = "python_version >= \"3.10\""}, + {version = ">=1.20.3", markers = "python_version < \"3.10\""}, ] python-dateutil = ">=2.8.1" pytz = ">=2020.1" [package.extras] -test = ["hypothesis (>=5.5.3)", "pytest (>=6.0)", "pytest-xdist (>=1.31)"] +test = ["pytest-xdist (>=1.31)", "pytest (>=6.0)", "hypothesis (>=5.5.3)"] [[package]] name = "pandas-gbq" @@ -599,7 +610,7 @@ testing = ["google-api-core[grpc] (>=1.31.5)"] [[package]] name = "protobuf" -version = "3.20.1" +version = "3.20.3" description = "Protocol Buffers" category = "main" optional = false @@ -645,7 +656,7 @@ pyasn1 = ">=0.4.6,<0.5.0" [[package]] name = "pydantic" -version = "1.10.1" +version = "1.10.2" description = "Data validation and settings management using python type hints" category = "main" optional = false @@ -716,7 +727,7 @@ six = ">=1.5" [[package]] name = "pytz" -version = "2022.2.1" +version = "2022.6" description = "World timezone definitions, modern and historical" category = "main" optional = false @@ -797,8 +808,8 @@ PyYAML = ">=3.0.0" SQLAlchemy = ">=1.2.19" [package.extras] -test = ["hypothesis", "pytest"] -docs = ["gapminder (==0.1)", "jupytext", "nbsphinx", "sphinx", "nbval", "jupyter", "plotnine"] +docs = ["plotnine", "jupyter", "nbval", "sphinx", "nbsphinx", "jupytext", "gapminder (==0.1)"] +test = ["pytest", "hypothesis"] [[package]] name = "six" @@ -873,7 +884,7 @@ python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" [[package]] name = "tqdm" -version = "4.64.0" +version = "4.64.1" description = "Fast, Extensible Progress Meter" category = "main" optional = false @@ -900,14 +911,14 @@ python-versions = ">=3.6" click = ">=7.1.1,<9.0.0" [package.extras] -test = ["rich (>=10.11.0,<13.0.0)", "isort (>=5.0.6,<6.0.0)", "black (>=22.3.0,<23.0.0)", "mypy (==0.910)", "pytest-sugar (>=0.9.4,<0.10.0)", "pytest-xdist (>=1.32.0,<2.0.0)", "coverage (>=5.2,<6.0)", "pytest-cov (>=2.10.0,<3.0.0)", "pytest (>=4.4.0,<5.4.0)", "shellingham (>=1.3.0,<2.0.0)"] -doc = ["mdx-include (>=1.4.1,<2.0.0)", "mkdocs-material (>=8.1.4,<9.0.0)", "mkdocs (>=1.1.2,<2.0.0)"] -dev = ["pre-commit (>=2.17.0,<3.0.0)", "flake8 (>=3.8.3,<4.0.0)", "autoflake (>=1.3.1,<2.0.0)"] -all = ["rich (>=10.11.0,<13.0.0)", "shellingham (>=1.3.0,<2.0.0)", "colorama (>=0.4.3,<0.5.0)"] +all = ["colorama (>=0.4.3,<0.5.0)", "shellingham (>=1.3.0,<2.0.0)", "rich (>=10.11.0,<13.0.0)"] +dev = ["autoflake (>=1.3.1,<2.0.0)", "flake8 (>=3.8.3,<4.0.0)", "pre-commit (>=2.17.0,<3.0.0)"] +doc = ["mkdocs (>=1.1.2,<2.0.0)", "mkdocs-material (>=8.1.4,<9.0.0)", "mdx-include (>=1.4.1,<2.0.0)"] +test = ["shellingham (>=1.3.0,<2.0.0)", "pytest (>=4.4.0,<5.4.0)", "pytest-cov (>=2.10.0,<3.0.0)", "coverage (>=5.2,<6.0)", "pytest-xdist (>=1.32.0,<2.0.0)", "pytest-sugar (>=0.9.4,<0.10.0)", "mypy (==0.910)", "black (>=22.3.0,<23.0.0)", "isort (>=5.0.6,<6.0.0)", "rich (>=10.11.0,<13.0.0)"] [[package]] name = "typing-extensions" -version = "4.3.0" +version = "4.4.0" description = "Backported and Experimental Type Hints for Python 3.7+" category = "main" optional = false @@ -981,6 +992,7 @@ google-resumable-media = [] googleapis-common-protos = [] greenlet = [] grpcio = [] +grpcio-status = [] gtfs-realtime-bindings = [] humanize = [] idna = [] diff --git a/warehouse/models/intermediate/gtfs/_int_gtfs.yaml b/warehouse/models/intermediate/gtfs/_int_gtfs.yaml index 501fa1b57a..2cd151bf86 100644 --- a/warehouse/models/intermediate/gtfs/_int_gtfs.yaml +++ b/warehouse/models/intermediate/gtfs/_int_gtfs.yaml @@ -297,4 +297,4 @@ models: description: '{{ doc("column_schedule_parse_gtfs_filename") }}' - name: dt - name: ts - - name: base64_url \ No newline at end of file + - name: base64_url