Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
f904059
Add __init__.py to transformers directory
pierrerondel Apr 21, 2026
b65a92a
Add init file for domains sub-package
pierrerondel Apr 21, 2026
5c80a8b
Create __init__.py
pierrerondel Apr 21, 2026
8ae9c36
Define URL Domain Models with Pydantic
pierrerondel Apr 21, 2026
6b3aef7
Delete transformers/domains/url/transformers.py
pierrerondel Apr 21, 2026
68dea56
Delete transformers/domains/url/validators.py
pierrerondel Apr 21, 2026
e76f0d1
Initialize vendors module with fortinet import
pierrerondel Apr 21, 2026
2982fbe
Update fortinet.py
pierrerondel Apr 21, 2026
1bc4050
Update netskope.py
pierrerondel Apr 21, 2026
7971c44
Add package declaration to __init__.py
pierrerondel Apr 21, 2026
3cda883
Delete transformers/framework/pipeline.py
pierrerondel Apr 21, 2026
e490f4c
Create pipelines.py
pierrerondel Apr 21, 2026
f1bc3eb
Delete transformers/framework/context.py
pierrerondel Apr 21, 2026
aa9b34b
Delete transformers/framework/transformers directory
pierrerondel Apr 21, 2026
bef8b82
Create __init__.py
pierrerondel Apr 21, 2026
4898729
Create action_mapper.py
pierrerondel Apr 21, 2026
62dd50c
Create BaseTransformer abstract class for transformers
pierrerondel Apr 21, 2026
7fb33c0
Add CategoryMapper for category ID transformation
pierrerondel Apr 21, 2026
18943ce
Create metadata_enricher.py
pierrerondel Apr 21, 2026
9878cde
Implement pattern normalizer transformer
pierrerondel Apr 21, 2026
0293247
Add TypeMapper for type mapping transformations
pierrerondel Apr 21, 2026
c94fd36
Delete transformers/type_mapper.py
pierrerondel Apr 21, 2026
8d5d682
Delete transformers/transformers.py
pierrerondel Apr 21, 2026
4ab9ca7
Delete transformers/pipelines.py
pierrerondel Apr 21, 2026
668ab1d
Delete transformers/pattern_normalizer.py
pierrerondel Apr 21, 2026
6bd626f
Delete transformers/metadata_enricher.py
pierrerondel Apr 21, 2026
75944c7
Delete transformers/category_mapper.py
pierrerondel Apr 21, 2026
45bb58e
Delete transformers/base_transformer.py
pierrerondel Apr 21, 2026
d6f13eb
Delete transformers/action_mapper.py
pierrerondel Apr 21, 2026
df7890f
Delete transformers/vendors directory
pierrerondel Apr 21, 2026
80779d8
Delete transformers/shared directory
pierrerondel Apr 21, 2026
a676f6c
Delete transformers/core directory
pierrerondel Apr 21, 2026
a519b3c
Update __init__.py
pierrerondel Apr 21, 2026
c13b4e4
Update __init__.py
pierrerondel Apr 21, 2026
ba913df
Update __init__.py
pierrerondel Apr 21, 2026
f5ae3e3
Update __init__.py
pierrerondel Apr 21, 2026
45b6574
Update __init__.py
pierrerondel Apr 21, 2026
d3331c7
Update __init__.py
pierrerondel Apr 21, 2026
c298a90
Refactor model docstrings and field formatting
pierrerondel Apr 21, 2026
8b2200a
Fix docstring formatting in models.py
pierrerondel Apr 21, 2026
3f5dada
Update models.py
pierrerondel Apr 21, 2026
2cd34f3
Clean up vendor imports in __init__.py
pierrerondel Apr 21, 2026
d7a8364
Refactor Fortinet module for improved clarity
pierrerondel Apr 21, 2026
5c68a0a
Update fortinet.py
pierrerondel Apr 21, 2026
cba2a64
Update fortinet.py
pierrerondel Apr 21, 2026
6fd5e13
Update fortinet.py
pierrerondel Apr 21, 2026
28a89f9
Update fortinet.py
pierrerondel Apr 21, 2026
7f35c60
Refactor imports in fortinet.py
pierrerondel Apr 21, 2026
30bec70
Refactor Netskope integration for improved clarity
pierrerondel Apr 21, 2026
2770660
Update fortinet.py
pierrerondel Apr 21, 2026
ee8e65e
Update fortinet.py
pierrerondel Apr 21, 2026
7d1f76a
Update fortinet.py
pierrerondel Apr 21, 2026
37ab185
Clean up formatting in netskope.py
pierrerondel Apr 21, 2026
d49f298
Update pipelines.py
pierrerondel Apr 21, 2026
2335457
Update pipelines.py
pierrerondel Apr 21, 2026
f51fb18
Update import statement for BaseTransformer
pierrerondel Apr 21, 2026
91d622f
Update category_mapper.py
pierrerondel Apr 21, 2026
c725caf
Update metadata_enricher.py
pierrerondel Apr 21, 2026
9bc9d8f
Update pattern_normalizer.py
pierrerondel Apr 21, 2026
78db3df
Update type_mapper.py
pierrerondel Apr 21, 2026
086ea39
Update base_transformer.py
pierrerondel Apr 21, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions transformers/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
"""
Transformers package initialization.

This package provides core functionality and public APIs for the transformers library.
"""
24 changes: 0 additions & 24 deletions transformers/core/base.py

This file was deleted.

24 changes: 0 additions & 24 deletions transformers/core/enums/enums.py

This file was deleted.

24 changes: 0 additions & 24 deletions transformers/core/models/models.py

This file was deleted.

7 changes: 7 additions & 0 deletions transformers/domains/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
"""
Transformers package initialization.

This package provides core functionality and public APIs for the transformers library.
"""

# Sub-package for different logic domains (url, firewall, etc.)
7 changes: 7 additions & 0 deletions transformers/domains/url/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
"""
Transformers package initialization.

This package provides core functionality and public APIs for the transformers library.
"""

# url domain package
109 changes: 92 additions & 17 deletions transformers/domains/url/models.py
Original file line number Diff line number Diff line change
@@ -1,24 +1,99 @@
"""
models base class.
URL Domain Models - Unified Data Model (UDM).

Purpose:
<Short description of the module responsibility>
This module defines the canonical schema for URLs, URL collections, and
categories within the URL domain.

Context:
Part of the <use_case> use case within the Unified Policy Transformation Framework.
Design Principles:

Responsibilities:
- <Responsibility 1>
- <Responsibility 2>
- <Responsibility 3>
- Domain-Level Logic: Operates purely on domain concepts.
- Vendor-Agnostic: No vendor-specific logic is contained here.
- Strong Typing: Enforces RFC-compliant formatting and normalization.
"""

Notes:
- Auto-generated placeholder module.
- Extend implementation as needed.
from datetime import datetime
from typing import List
from typing import Literal
from typing import Optional

Author:
<Your Name / Team>
from pydantic import BaseModel
from pydantic import ConfigDict
from pydantic import Field

Created:
<YYYY-MM-DD>
"""

class Category(BaseModel):
"""
Represents a normalized category entity.

This includes a stable identifier and taxonomic classification.
"""

id: str = Field(..., description="Internal unique identifier for the category")
name: str = Field(..., description="Human-readable name of the category")
type: Literal["standard", "custom"] = Field(
...,
description="Distinguishes between system-standard and user-defined categories",
)


class Metadata(BaseModel):
"""
Extensible container for enrichment data.

This includes timestamps, source information, and optional metadata fields.
"""

processed_at: datetime = Field(
..., description="Timestamp of when the record was processed"
)
source: Optional[str] = Field(
None, description="The origin system of the data"
)
additional_info: Optional[dict] = Field(
None, description="Placeholder for custom metadata expansion"
)


class URL_UDM(BaseModel):
"""
Unified Data Model for URL entities.

This model serves as the source of truth for processing, independent
of any external vendor system.
"""

model_config = ConfigDict(populate_by_name=True)

pattern: str = Field(
..., description="The URL pattern (literal, wildcard, or regex)"
)
type: Literal["literal", "wildcard", "regex"] = Field(
..., description="The syntax type of the pattern"
)
action: Literal["allow", "block", "monitor"] = Field(
..., description="Standardized enforcement action"
)
status: Literal["enable", "disable"] = Field(
..., description="Operational status of the rule"
)
url_list_id: str = Field(
..., description="Unique ID for the parent URL list"
)
url_list_name: str = Field(
..., description="Human-readable name of the URL list"
)

categories: List[Category] = Field(
default_factory=list,
description="Merged array of standard and custom categories",
)

vendor: Optional[str] = Field(
None, description="Original vendor for traceability purposes"
)
metadata: Optional[Metadata] = Field(
None, description="Processing metadata and timestamps"
)
notes: Optional[str] = Field(
None, description="Optional justifications or comments"
)
24 changes: 0 additions & 24 deletions transformers/domains/url/transformers.py

This file was deleted.

24 changes: 0 additions & 24 deletions transformers/domains/url/validators.py

This file was deleted.

5 changes: 5 additions & 0 deletions transformers/domains/url/vendors/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
"""
Transformers package initialization.

This package provides core functionality and public APIs for the transformers library.
"""
Loading