Skip to content

c108.validators.schemes

Data Validators Schemes

AWSDatabaseSchemes

Bases: SchemeGroup

AWS managed database URI schemes.

Source code in c108/validators/schemes.py
42
43
44
45
46
47
48
49
50
51
52
class AWSDatabaseSchemes(SchemeGroup):
    """AWS managed database URI schemes."""

    athena = "athena"  # Serverless query service
    aurora = "aurora"  # Aurora MySQL/PostgreSQL
    documentdb = "documentdb"  # MongoDB-compatible
    dynamodb = "dynamodb"  # NoSQL key-value
    neptune_db = "neptune-db"  # Graph database
    rds = "rds"  # Relational Database Service
    redshift = "redshift"  # Data warehouse
    timestream = "timestream"  # Time series database

AWSStorageSchemes

Bases: SchemeGroup

AWS S3 URI schemes.

Source code in c108/validators/schemes.py
55
56
57
58
59
60
class AWSStorageSchemes(SchemeGroup):
    """AWS S3 URI schemes."""

    s3 = "s3"
    s3a = "s3a"
    s3n = "s3n"

AnalyticalSchemes

Bases: SchemeGroup

Analytical/OLAP database URI schemes.

Source code in c108/validators/schemes.py
29
30
31
32
33
34
35
36
37
38
39
class AnalyticalSchemes(SchemeGroup):
    """Analytical/OLAP database URI schemes."""

    clickhouse = "clickhouse"
    databricks = "databricks"
    druid = "druid"
    impala = "impala"
    presto = "presto"
    snowflake = "snowflake"
    trino = "trino"
    vertica = "vertica"

AzureDatabaseSchemes

Bases: SchemeGroup

Azure managed database URI schemes.

Source code in c108/validators/schemes.py
63
64
65
66
67
68
69
class AzureDatabaseSchemes(SchemeGroup):
    """Azure managed database URI schemes."""

    azuresql = "azuresql"  # Azure SQL Database
    cosmosdb = "cosmosdb"  # Multi-model NoSQL
    sqldw = "sqldw"  # SQL Data Warehouse (legacy name)
    synapse = "synapse"  # Analytics platform (formerly SQL DW)

AzureStorageSchemes

Bases: SchemeGroup

Microsoft Azure storage URI schemes.

Source code in c108/validators/schemes.py
72
73
74
75
76
77
78
79
80
class AzureStorageSchemes(SchemeGroup):
    """Microsoft Azure storage URI schemes."""

    abfs = "abfs"
    abfss = "abfss"
    adl = "adl"
    az = "az"
    wasb = "wasb"
    wasbs = "wasbs"

DataVersioningSchemes

Bases: SchemeGroup

Data versioning system URI schemes.

Source code in c108/validators/schemes.py
83
84
85
86
87
class DataVersioningSchemes(SchemeGroup):
    """Data versioning system URI schemes."""

    dvc = "dvc"  # DVC (Data Version Control)
    pachyderm = "pachyderm"  # Pachyderm data pipelines

DistributedSchemes

Bases: SchemeGroup

Distributed file system URI schemes.

Source code in c108/validators/schemes.py
90
91
92
93
94
95
96
97
98
class DistributedSchemes(SchemeGroup):
    """Distributed file system URI schemes."""

    alluxio = "alluxio"
    ceph = "ceph"
    dbfs = "dbfs"
    minio = "minio"
    rados = "rados"
    swift = "swift"

GCPDatabaseSchemes

Bases: SchemeGroup

GCP managed database URI schemes.

Source code in c108/validators/schemes.py
101
102
103
104
105
106
107
108
class GCPDatabaseSchemes(SchemeGroup):
    """GCP managed database URI schemes."""

    bigquery = "bigquery"  # Data warehouse
    bigtable = "bigtable"  # NoSQL wide-column
    datastore = "datastore"  # NoSQL document database (legacy)
    firestore = "firestore"  # NoSQL document database
    spanner = "spanner"  # Distributed SQL database

GCPStorageSchemes

Bases: SchemeGroup

Google Cloud Platform URI schemes.

Source code in c108/validators/schemes.py
111
112
113
114
class GCPStorageSchemes(SchemeGroup):
    """Google Cloud Platform URI schemes."""

    gs = "gs"

GraphSchemes

Bases: SchemeGroup

Graph database URI schemes.

Source code in c108/validators/schemes.py
117
118
119
120
121
122
123
124
class GraphSchemes(SchemeGroup):
    """Graph database URI schemes."""

    arangodb = "arangodb"
    janusgraph = "janusgraph"
    neo4j = "neo4j"
    neo4js = "neo4js"  # Neo4j with encryption
    orientdb = "orientdb"

HadoopSchemes

Bases: SchemeGroup

Hadoop ecosystem URI schemes.

Source code in c108/validators/schemes.py
127
128
129
130
131
132
class HadoopSchemes(SchemeGroup):
    """Hadoop ecosystem URI schemes."""

    hdfs = "hdfs"
    hive = "hive"
    webhdfs = "webhdfs"

LakehouseSchemes

Bases: SchemeGroup

Data lakehouse URI schemes.

Source code in c108/validators/schemes.py
135
136
137
138
139
class LakehouseSchemes(SchemeGroup):
    """Data lakehouse URI schemes."""

    delta = "delta"
    iceberg = "iceberg"

LocalSchemes

Bases: SchemeGroup

Local and URN schemes.

Source code in c108/validators/schemes.py
142
143
144
145
146
class LocalSchemes(SchemeGroup):
    """Local and URN schemes."""

    file = "file"
    urn = "urn"

MLDatasetSchemes

Bases: SchemeGroup

ML dataset URI schemes.

Source code in c108/validators/schemes.py
149
150
151
152
153
class MLDatasetSchemes(SchemeGroup):
    """ML dataset URI schemes."""

    tfds = "tfds"  # TensorFlow Datasets
    torch = "torch"  # PyTorch datasets

MLFlowSchemes

Bases: SchemeGroup

MLflow-specific URI schemes.

Source code in c108/validators/schemes.py
156
157
158
159
160
class MLFlowSchemes(SchemeGroup):
    """MLflow-specific URI schemes."""

    models = "models"  # Model Registry: models:/<name>/<version_or_stage>
    runs = "runs"  # Artifact from run: runs:/<run_id>/path

MLHubSchemes

Bases: SchemeGroup

ML model hub URI schemes.

Source code in c108/validators/schemes.py
163
164
165
166
167
168
169
170
class MLHubSchemes(SchemeGroup):
    """ML model hub URI schemes."""

    hf = "hf"  # Hugging Face Hub
    huggingface = "huggingface"  # Hugging Face Hub (alias)
    onnx = "onnx"  # ONNX Model Zoo
    tfhub = "tfhub"  # TensorFlow Hub
    torchhub = "torchhub"  # PyTorch Hub

MLTrackingSchemes

Bases: SchemeGroup

ML experiment tracking platform URI schemes.

Source code in c108/validators/schemes.py
173
174
175
176
177
178
179
180
181
182
183
class MLTrackingSchemes(SchemeGroup):
    """ML experiment tracking platform URI schemes."""

    aim = "aim"  # Aim
    clearml = "clearml"  # ClearML (formerly Allegro)
    comet = "comet"  # Comet ML
    mlflow = "mlflow"  # MLflow artifacts (generic)
    neptune = "neptune"  # Neptune.ai
    sacred = "sacred"  # Sacred
    tensorboard = "tensorboard"  # TensorBoard logs
    wandb = "wandb"  # Weights & Biases

NetworkFSSchemes

Bases: SchemeGroup

Network file system URI schemes.

Source code in c108/validators/schemes.py
186
187
188
189
190
191
192
class NetworkFSSchemes(SchemeGroup):
    """Network file system URI schemes."""

    afp = "afp"
    cifs = "cifs"
    nfs = "nfs"
    smb = "smb"

NoSQLSchemes

Bases: SchemeGroup

NoSQL database URI schemes.

Source code in c108/validators/schemes.py
195
196
197
198
199
200
201
202
203
204
205
206
class NoSQLSchemes(SchemeGroup):
    """NoSQL database URI schemes."""

    cassandra = "cassandra"
    couchbase = "couchbase"
    couchdb = "couchdb"
    cql = "cql"  # Cassandra Query Language
    memcached = "memcached"
    mongo = "mongo"  # Alternative MongoDB scheme
    mongodb = "mongodb"
    redis = "redis"
    rediss = "rediss"  # Redis with SSL/TLS

SQLSchemes

Bases: SchemeGroup

SQL database URI schemes.

Source code in c108/validators/schemes.py
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
class SQLSchemes(SchemeGroup):
    """SQL database URI schemes."""

    cockroach = "cockroach"
    cockroachdb = "cockroachdb"
    db2 = "db2"
    mariadb = "mariadb"
    mssql = "mssql"
    mysql = "mysql"
    oracle = "oracle"
    postgres = "postgres"
    postgresql = "postgresql"
    sqlite = "sqlite"
    sqlserver = "sqlserver"
    teradata = "teradata"

Scheme

URI scheme definitions organized by category.

Provides categorized access to all supported URI schemes for cloud storage, distributed systems, ML platforms, experiment tracking, and databases.

Examples:

>>> # Cloud storage
>>> Scheme.aws.s3
's3'
>>> # ML experiment tracking
>>> Scheme.ml.tracking.wandb
'wandb'
>>> # MLflow-specific
>>> Scheme.ml.mlflow.runs
'runs'
>>> # Model hubs
>>> Scheme.ml.hub.hf
'hf'
>>> # Cloud databases
>>> Scheme.db.cloud.aws.bigquery
Traceback (most recent call last):
...
AttributeError: type object 'AWSDatabaseSchemes' has no attribute 'bigquery'
>>> # Cloud databases (corrected)
>>> Scheme.db.cloud.gcp.bigquery
'bigquery'
>>> # Vector databases
>>> Scheme.db.vector.pinecone
'pinecone'
>>> # Get all database schemes
>>> schemes = Scheme.db.all
>>> 'bigquery' in schemes and 'redis' in schemes
True
Source code in c108/validators/schemes.py
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
class Scheme:
    """URI scheme definitions organized by category.

    Provides categorized access to all supported URI schemes for cloud storage,
    distributed systems, ML platforms, experiment tracking, and databases.

    Examples:
        >>> # Cloud storage
        >>> Scheme.aws.s3
        's3'

        >>> # ML experiment tracking
        >>> Scheme.ml.tracking.wandb
        'wandb'

        >>> # MLflow-specific
        >>> Scheme.ml.mlflow.runs
        'runs'

        >>> # Model hubs
        >>> Scheme.ml.hub.hf
        'hf'

        >>> # Cloud databases
        >>> Scheme.db.cloud.aws.bigquery
        Traceback (most recent call last):
        ...
        AttributeError: type object 'AWSDatabaseSchemes' has no attribute 'bigquery'

        >>> # Cloud databases (corrected)
        >>> Scheme.db.cloud.gcp.bigquery
        'bigquery'

        >>> # Vector databases
        >>> Scheme.db.vector.pinecone
        'pinecone'

        >>> # Get all database schemes
        >>> schemes = Scheme.db.all
        >>> 'bigquery' in schemes and 'redis' in schemes
        True
    """

    # Cloud providers (storage)
    aws = AWSStorageSchemes
    azure = AzureStorageSchemes
    gcp = GCPStorageSchemes

    # Distributed systems
    distributed = DistributedSchemes
    hadoop = HadoopSchemes
    lakehouse = LakehouseSchemes
    network = NetworkFSSchemes

    # ML/AI platforms (nested for organization)
    class ml:
        """ML/AI platform schemes organized by category."""

        data_versioning = DataVersioningSchemes
        datasets = MLDatasetSchemes
        hub = MLHubSchemes
        mlflow = MLFlowSchemes
        tracking = MLTrackingSchemes

        @classgetter(cache=True)
        def all(cls) -> tuple[str, ...]:
            """Get all ML-related schemes.

            Returns:
                tuple[str, ...]: All ML platform, tracking, hub, and dataset schemes.

            Examples:
                >>> schemes = Scheme.ml.all
                >>> 'wandb' in schemes and 'hf' in schemes and 'runs' in schemes
                True
            """
            return (
                *DataVersioningSchemes.all,
                *MLDatasetSchemes.all,
                *MLFlowSchemes.all,
                *MLHubSchemes.all,
                *MLTrackingSchemes.all,
            )

    # Databases (comprehensive organization)
    class db:
        """Database schemes organized by category."""

        # SQL databases
        sql = SQLSchemes

        # Cloud-managed databases
        class cloud:
            """Cloud-managed database schemes."""

            aws = AWSDatabaseSchemes
            azure = AzureDatabaseSchemes
            gcp = GCPDatabaseSchemes

            @classgetter(cache=True)
            def all(cls) -> tuple[str, ...]:
                """Get all cloud-managed database schemes."""
                return (
                    *AWSDatabaseSchemes.all,
                    *AzureDatabaseSchemes.all,
                    *GCPDatabaseSchemes.all,
                )

        # Database types
        analytical = AnalyticalSchemes
        graph = GraphSchemes
        nosql = NoSQLSchemes
        search = SearchSchemes
        timeseries = TimeSeriesSchemes
        vector = VectorSchemes

        @classgetter(cache=True)
        def all(cls) -> tuple[str, ...]:
            """Get all database schemes.

            Returns:
                tuple[str, ...]: All database schemes including cloud, NoSQL,
                    vector, time series, graph, analytical, and sql databases.

            Examples:
                >>> schemes = Scheme.db.all
                >>> all(s in schemes for s in ['bigquery', 'redis', 'pinecone', 'neo4j'])
                True
            """
            return (
                *AWSDatabaseSchemes.all,
                *AnalyticalSchemes.all,
                *AzureDatabaseSchemes.all,
                *GCPDatabaseSchemes.all,
                *GraphSchemes.all,
                *NoSQLSchemes.all,
                *SQLSchemes.all,
                *SearchSchemes.all,
                *TimeSeriesSchemes.all,
                *VectorSchemes.all,
            )

    # Web and local
    local = LocalSchemes
    web = WebSchemes

    @staticmethod
    def cloud() -> tuple[str, ...]:
        """Get all major cloud provider schemes (AWS, GCP, Azure storage)."""
        return (
            *AWSStorageSchemes.all,
            *AzureStorageSchemes.all,
            *GCPStorageSchemes.all,
        )

    @staticmethod
    def bigdata() -> tuple[str, ...]:
        """Get all big data / distributed system schemes."""
        return (
            *DistributedSchemes.all,
            *HadoopSchemes.all,
            *LakehouseSchemes.all,
        )

    @classgetter(cache=True)
    def all(cls) -> tuple[str, ...]:
        """Get all supported URI schemes."""
        return (
            *AWSDatabaseSchemes.all,
            *AWSStorageSchemes.all,
            *AnalyticalSchemes.all,
            *AzureDatabaseSchemes.all,
            *AzureStorageSchemes.all,
            *DataVersioningSchemes.all,
            *DistributedSchemes.all,
            *GCPDatabaseSchemes.all,
            *GCPStorageSchemes.all,
            *GraphSchemes.all,
            *HadoopSchemes.all,
            *LakehouseSchemes.all,
            *LocalSchemes.all,
            *MLDatasetSchemes.all,
            *MLFlowSchemes.all,
            *MLHubSchemes.all,
            *MLTrackingSchemes.all,
            *NetworkFSSchemes.all,
            *NoSQLSchemes.all,
            *SQLSchemes.all,
            *SearchSchemes.all,
            *TimeSeriesSchemes.all,
            *VectorSchemes.all,
            *WebSchemes.all,
        )

db

Database schemes organized by category.

Source code in c108/validators/schemes.py
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
class db:
    """Database schemes organized by category."""

    # SQL databases
    sql = SQLSchemes

    # Cloud-managed databases
    class cloud:
        """Cloud-managed database schemes."""

        aws = AWSDatabaseSchemes
        azure = AzureDatabaseSchemes
        gcp = GCPDatabaseSchemes

        @classgetter(cache=True)
        def all(cls) -> tuple[str, ...]:
            """Get all cloud-managed database schemes."""
            return (
                *AWSDatabaseSchemes.all,
                *AzureDatabaseSchemes.all,
                *GCPDatabaseSchemes.all,
            )

    # Database types
    analytical = AnalyticalSchemes
    graph = GraphSchemes
    nosql = NoSQLSchemes
    search = SearchSchemes
    timeseries = TimeSeriesSchemes
    vector = VectorSchemes

    @classgetter(cache=True)
    def all(cls) -> tuple[str, ...]:
        """Get all database schemes.

        Returns:
            tuple[str, ...]: All database schemes including cloud, NoSQL,
                vector, time series, graph, analytical, and sql databases.

        Examples:
            >>> schemes = Scheme.db.all
            >>> all(s in schemes for s in ['bigquery', 'redis', 'pinecone', 'neo4j'])
            True
        """
        return (
            *AWSDatabaseSchemes.all,
            *AnalyticalSchemes.all,
            *AzureDatabaseSchemes.all,
            *GCPDatabaseSchemes.all,
            *GraphSchemes.all,
            *NoSQLSchemes.all,
            *SQLSchemes.all,
            *SearchSchemes.all,
            *TimeSeriesSchemes.all,
            *VectorSchemes.all,
        )

cloud

Cloud-managed database schemes.

Source code in c108/validators/schemes.py
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
class cloud:
    """Cloud-managed database schemes."""

    aws = AWSDatabaseSchemes
    azure = AzureDatabaseSchemes
    gcp = GCPDatabaseSchemes

    @classgetter(cache=True)
    def all(cls) -> tuple[str, ...]:
        """Get all cloud-managed database schemes."""
        return (
            *AWSDatabaseSchemes.all,
            *AzureDatabaseSchemes.all,
            *GCPDatabaseSchemes.all,
        )
all()

Get all cloud-managed database schemes.

Source code in c108/validators/schemes.py
365
366
367
368
369
370
371
372
@classgetter(cache=True)
def all(cls) -> tuple[str, ...]:
    """Get all cloud-managed database schemes."""
    return (
        *AWSDatabaseSchemes.all,
        *AzureDatabaseSchemes.all,
        *GCPDatabaseSchemes.all,
    )

all()

Get all database schemes.

Returns:

Type Description
tuple[str, ...]

tuple[str, ...]: All database schemes including cloud, NoSQL, vector, time series, graph, analytical, and sql databases.

Examples:

>>> schemes = Scheme.db.all
>>> all(s in schemes for s in ['bigquery', 'redis', 'pinecone', 'neo4j'])
True
Source code in c108/validators/schemes.py
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
@classgetter(cache=True)
def all(cls) -> tuple[str, ...]:
    """Get all database schemes.

    Returns:
        tuple[str, ...]: All database schemes including cloud, NoSQL,
            vector, time series, graph, analytical, and sql databases.

    Examples:
        >>> schemes = Scheme.db.all
        >>> all(s in schemes for s in ['bigquery', 'redis', 'pinecone', 'neo4j'])
        True
    """
    return (
        *AWSDatabaseSchemes.all,
        *AnalyticalSchemes.all,
        *AzureDatabaseSchemes.all,
        *GCPDatabaseSchemes.all,
        *GraphSchemes.all,
        *NoSQLSchemes.all,
        *SQLSchemes.all,
        *SearchSchemes.all,
        *TimeSeriesSchemes.all,
        *VectorSchemes.all,
    )

ml

ML/AI platform schemes organized by category.

Source code in c108/validators/schemes.py
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
class ml:
    """ML/AI platform schemes organized by category."""

    data_versioning = DataVersioningSchemes
    datasets = MLDatasetSchemes
    hub = MLHubSchemes
    mlflow = MLFlowSchemes
    tracking = MLTrackingSchemes

    @classgetter(cache=True)
    def all(cls) -> tuple[str, ...]:
        """Get all ML-related schemes.

        Returns:
            tuple[str, ...]: All ML platform, tracking, hub, and dataset schemes.

        Examples:
            >>> schemes = Scheme.ml.all
            >>> 'wandb' in schemes and 'hf' in schemes and 'runs' in schemes
            True
        """
        return (
            *DataVersioningSchemes.all,
            *MLDatasetSchemes.all,
            *MLFlowSchemes.all,
            *MLHubSchemes.all,
            *MLTrackingSchemes.all,
        )

all()

Get all ML-related schemes.

Returns:

Type Description
tuple[str, ...]

tuple[str, ...]: All ML platform, tracking, hub, and dataset schemes.

Examples:

>>> schemes = Scheme.ml.all
>>> 'wandb' in schemes and 'hf' in schemes and 'runs' in schemes
True
Source code in c108/validators/schemes.py
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
@classgetter(cache=True)
def all(cls) -> tuple[str, ...]:
    """Get all ML-related schemes.

    Returns:
        tuple[str, ...]: All ML platform, tracking, hub, and dataset schemes.

    Examples:
        >>> schemes = Scheme.ml.all
        >>> 'wandb' in schemes and 'hf' in schemes and 'runs' in schemes
        True
    """
    return (
        *DataVersioningSchemes.all,
        *MLDatasetSchemes.all,
        *MLFlowSchemes.all,
        *MLHubSchemes.all,
        *MLTrackingSchemes.all,
    )

all()

Get all supported URI schemes.

Source code in c108/validators/schemes.py
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
@classgetter(cache=True)
def all(cls) -> tuple[str, ...]:
    """Get all supported URI schemes."""
    return (
        *AWSDatabaseSchemes.all,
        *AWSStorageSchemes.all,
        *AnalyticalSchemes.all,
        *AzureDatabaseSchemes.all,
        *AzureStorageSchemes.all,
        *DataVersioningSchemes.all,
        *DistributedSchemes.all,
        *GCPDatabaseSchemes.all,
        *GCPStorageSchemes.all,
        *GraphSchemes.all,
        *HadoopSchemes.all,
        *LakehouseSchemes.all,
        *LocalSchemes.all,
        *MLDatasetSchemes.all,
        *MLFlowSchemes.all,
        *MLHubSchemes.all,
        *MLTrackingSchemes.all,
        *NetworkFSSchemes.all,
        *NoSQLSchemes.all,
        *SQLSchemes.all,
        *SearchSchemes.all,
        *TimeSeriesSchemes.all,
        *VectorSchemes.all,
        *WebSchemes.all,
    )

bigdata() staticmethod

Get all big data / distributed system schemes.

Source code in c108/validators/schemes.py
421
422
423
424
425
426
427
428
@staticmethod
def bigdata() -> tuple[str, ...]:
    """Get all big data / distributed system schemes."""
    return (
        *DistributedSchemes.all,
        *HadoopSchemes.all,
        *LakehouseSchemes.all,
    )

cloud() staticmethod

Get all major cloud provider schemes (AWS, GCP, Azure storage).

Source code in c108/validators/schemes.py
412
413
414
415
416
417
418
419
@staticmethod
def cloud() -> tuple[str, ...]:
    """Get all major cloud provider schemes (AWS, GCP, Azure storage)."""
    return (
        *AWSStorageSchemes.all,
        *AzureStorageSchemes.all,
        *GCPStorageSchemes.all,
    )

SchemeGroup

Base class for URI scheme groups.

Source code in c108/validators/schemes.py
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class SchemeGroup:
    """Base class for URI scheme groups."""

    @classgetter(cache=True)
    def all(cls) -> tuple[str, ...]:
        """
        Get all schemes in this group.

        Append all schemes from nested SchemeGroup instances recursively
        """
        schemes = []
        for attr_name in dir(cls):
            if not attr_name.startswith("_") and attr_name != "all":
                attr = getattr(cls, attr_name)
                if isinstance(attr, str):
                    schemes.append(attr)
                elif isinstance(attr, type) and issubclass(attr, SchemeGroup):
                    schemes.extend(attr.all)
        return tuple(schemes)

all()

Get all schemes in this group.

Append all schemes from nested SchemeGroup instances recursively

Source code in c108/validators/schemes.py
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
@classgetter(cache=True)
def all(cls) -> tuple[str, ...]:
    """
    Get all schemes in this group.

    Append all schemes from nested SchemeGroup instances recursively
    """
    schemes = []
    for attr_name in dir(cls):
        if not attr_name.startswith("_") and attr_name != "all":
            attr = getattr(cls, attr_name)
            if isinstance(attr, str):
                schemes.append(attr)
            elif isinstance(attr, type) and issubclass(attr, SchemeGroup):
                schemes.extend(attr.all)
    return tuple(schemes)

SearchSchemes

Bases: SchemeGroup

Search and vector database URI schemes.

Source code in c108/validators/schemes.py
209
210
211
212
213
214
215
216
217
class SearchSchemes(SchemeGroup):
    """Search and vector database URI schemes."""

    elasticsearch = "elasticsearch"
    es = "es"  # Elasticsearch alias
    meilisearch = "meilisearch"
    opensearch = "opensearch"
    solr = "solr"
    typesense = "typesense"

TimeSeriesSchemes

Bases: SchemeGroup

Time series database URI schemes.

Source code in c108/validators/schemes.py
237
238
239
240
241
242
243
class TimeSeriesSchemes(SchemeGroup):
    """Time series database URI schemes."""

    influxdb = "influxdb"
    prometheus = "prometheus"
    timescaledb = "timescaledb"
    victoriametrics = "victoriametrics"

VectorSchemes

Bases: SchemeGroup

Vector database URI schemes (for ML embeddings).

Source code in c108/validators/schemes.py
246
247
248
249
250
251
252
253
254
class VectorSchemes(SchemeGroup):
    """Vector database URI schemes (for ML embeddings)."""

    chroma = "chroma"
    chromadb = "chromadb"
    milvus = "milvus"
    pinecone = "pinecone"
    qdrant = "qdrant"
    weaviate = "weaviate"

WebSchemes

Bases: SchemeGroup

Web protocol URI schemes.

Source code in c108/validators/schemes.py
257
258
259
260
261
262
263
class WebSchemes(SchemeGroup):
    """Web protocol URI schemes."""

    ftp = "ftp"
    ftps = "ftps"
    http = "http"
    https = "https"