Skip to content

Net Module

The rite.net module provides network utilities including URL handling, HTTP operations, and validation.

Overview

net

Network Module

Comprehensive networking utilities for HTTP, URLs, requests, validation, and MIME types.

This module provides utilities organized into semantic submodules: - http: HTTP utilities (status codes, methods, headers) - url: URL manipulation (parse, build, encode/decode) - request: HTTP requests (GET, POST) - validation: Network validation (email, URL, IP, port) - mime: MIME type utilities (guess type, parse)

Examples

from rite.net import http_status_code, url_parse http_status_code(200) 'OK' result = url_parse("https://example.com/path") result.scheme 'https'

Legacy Classes

from rite.net import BaseHTTPServer, SQLiteServer server = BaseHTTPServer(port=8000)

Classes

BaseHTTPServer

Bases: BaseHTTPRequestHandler

HTTP Server Class

A simple HTTP server handler class that responds to GET and POST requests.

Attributes
None
Methods
do_get(): Handle GET requests.
do_post(): Handle POST requests.
_send_response(status_code, content, content_type): Helper method to
send HTTP responses.
_handle_404(): Helper method to handle 404 Not Found responses.
run(server_class, handler_class, port): Static method to run the
server.
Functions
do_get
do_get()

Handle GET requests. Parses the request path and query parameters.

Returns
None
do_post
do_post()

Handle POST requests. Parses the posted data.

Returns
None
run staticmethod
run(server_class: type[HTTPServer] = HTTPServer, handler_class: type[BaseHTTPRequestHandler] | None = None, port: int = 8000)

Static method to run the HTTP server.

Parameters:

Name Type Description Default
server_class HTTPServer

The HTTP server class.

HTTPServer
handler_class BaseHTTPRequestHandler

The HTTP request handler

None
port int

Port number to run the server on.

8000
Returns
None

SQLiteServer

SQLiteServer(db_path: str)

A SQLite3 server class for handling database operations with enhanced functionality.

This class provides a simplified interface for interacting with SQLite databases, including methods for executing queries, handling transactions, and performing basic CRUD operations.

Attributes
db_path (str): Path to the SQLite3 database file.
Methods
execute_query(query, params): Executes a SQL query with parameters.
fetch_all(query, params): Fetches all rows from a SQL query.
fetch_one(query, params): Fetches the first row from a SQL query.
insert(table, data_dict): Inserts data into a table.
update(table, data_dict, condition): Updates data in a table based on
a condition.
delete(table, condition): Deletes data from a table based on a condition.
transaction(queries): Executes a series of queries in a transaction.

Initializes the SQLite3 server with the specified database path.

Parameters:

Name Type Description Default
db_path str

Path to the SQLite3 database file.

required
Functions
delete
delete(table: str, condition: str)

Deletes rows from a table.

Parameters:

Name Type Description Default
table str

Name of the table to delete from.

required
condition str

SQL condition for the deletion.

required
Returns
None
execute_query
execute_query(query: str, params: tuple[Any, ...] = ()) -> None

Executes a SQL query with parameters.

Parameters:

Name Type Description Default
query str

SQL query to execute.

required
params Tuple

Parameters for the SQL query.

()
Returns
None
fetch_all
fetch_all(query: str, params: tuple[Any, ...] = ()) -> list[tuple[Any, ...]]

Fetches all rows from a SQL query.

Parameters:

Name Type Description Default
query str

SQL query to execute.

required
params Tuple

Parameters for the SQL query.

()
Returns
list[Tuple]: List of rows returned by the query.
fetch_one
fetch_one(query: str, params: Sequence[Any] | dict[str, Any] | tuple[Any, ...] = ()) -> tuple[Any, ...]

Fetches the first row from a SQL query.

Parameters:

Name Type Description Default
query str

SQL query to execute.

required
params Tuple

Parameters for the SQL query.

()
Returns
Tuple: The first row returned by the query.
insert
insert(table: str, data_dict: dict)

Inserts a new row into a table.

Parameters:

Name Type Description Default
table str

Name of the table to insert data into.

required
data_dict dict

Dictionary containing column names and values.

required
Returns
None
transaction
transaction(queries: list[tuple[str, tuple[Any, ...]]]) -> None

Executes a series of queries in a single transaction.

Parameters:

Name Type Description Default
queries list[tuple[str, Tuple]]

A list of queries and their parameters.

required

Raises:

Type Description
Error

If an error occurs during the transaction.

update
update(table: str, data_dict: dict, condition: str)

Updates rows in a table.

Parameters:

Name Type Description Default
table str

Name of the table to update.

required
data_dict dict

Dictionary containing column names and values.

required
condition str

SQL condition for the update.

required
Returns
None

Modules

http

HTTP Module

HTTP protocol utilities.

This submodule provides utilities for HTTP status codes, methods, and header parsing.

Examples

from rite.net.http import ( ... http_status_code, ... http_is_method ... ) http_status_code(200) 'OK'

Modules
http_is_method
HTTP Methods

Check if HTTP method is valid.

Examples

from rite.net.http import http_is_method http_is_method("GET") True

Functions
http_is_method
http_is_method(method: str) -> bool

Check if HTTP method is valid.

Parameters:

Name Type Description Default
method str

HTTP method to check.

required

Returns:

Type Description
bool

True if valid HTTP method.

Examples:

>>> http_is_method("GET")
True
>>> http_is_method("POST")
True
>>> http_is_method("INVALID")
False
Notes

Case-sensitive. Checks against standard HTTP methods.

http_parse_headers
HTTP Headers Parser

Parse HTTP headers from string.

Examples

from rite.net.http import http_parse_headers headers = "Content-Type: application/json\r\nHost: example.com" http_parse_headers(headers)

Functions
http_parse_headers
http_parse_headers(headers_str: str) -> dict[str, str]

Parse HTTP headers from string.

Parameters:

Name Type Description Default
headers_str str

Raw headers string.

required

Returns:

Type Description
dict[str, str]

Dictionary of header name to value.

Examples:

>>> http_parse_headers("User-Agent: Mozilla/5.0")
{'User-Agent': 'Mozilla/5.0'}
>>> http_parse_headers(
...     "Accept: text/html\r\nAccept-Encoding: gzip"
... )
{'Accept': 'text/html', 'Accept-Encoding': 'gzip'}
Notes

Splits on colon (:). Handles \r\n line endings.

http_status_code
HTTP Status Codes

HTTP status code constants and utilities.

Examples

from rite.net.http import http_status_code http_status_code(200) 'OK'

Functions
http_status_code
http_status_code(code: int) -> str

Get HTTP status description.

Parameters:

Name Type Description Default
code int

HTTP status code.

required

Returns:

Type Description
str

Status description.

Examples:

>>> http_status_code(200)
'OK'
>>> http_status_code(404)
'Not Found'
>>> http_status_code(500)
'Internal Server Error'
Notes

Uses http.HTTPStatus from standard library.

http_is_method

HTTP Methods

Check if HTTP method is valid.

Examples

from rite.net.http import http_is_method http_is_method("GET") True

Functions
http_is_method
http_is_method(method: str) -> bool

Check if HTTP method is valid.

Parameters:

Name Type Description Default
method str

HTTP method to check.

required

Returns:

Type Description
bool

True if valid HTTP method.

Examples:

>>> http_is_method("GET")
True
>>> http_is_method("POST")
True
>>> http_is_method("INVALID")
False
Notes

Case-sensitive. Checks against standard HTTP methods.

http_parse_headers

HTTP Headers Parser

Parse HTTP headers from string.

Examples

from rite.net.http import http_parse_headers headers = "Content-Type: application/json\r\nHost: example.com" http_parse_headers(headers)

Functions
http_parse_headers
http_parse_headers(headers_str: str) -> dict[str, str]

Parse HTTP headers from string.

Parameters:

Name Type Description Default
headers_str str

Raw headers string.

required

Returns:

Type Description
dict[str, str]

Dictionary of header name to value.

Examples:

>>> http_parse_headers("User-Agent: Mozilla/5.0")
{'User-Agent': 'Mozilla/5.0'}
>>> http_parse_headers(
...     "Accept: text/html\r\nAccept-Encoding: gzip"
... )
{'Accept': 'text/html', 'Accept-Encoding': 'gzip'}
Notes

Splits on colon (:). Handles \r\n line endings.

http_status_code

HTTP Status Codes

HTTP status code constants and utilities.

Examples

from rite.net.http import http_status_code http_status_code(200) 'OK'

Functions
http_status_code
http_status_code(code: int) -> str

Get HTTP status description.

Parameters:

Name Type Description Default
code int

HTTP status code.

required

Returns:

Type Description
str

Status description.

Examples:

>>> http_status_code(200)
'OK'
>>> http_status_code(404)
'Not Found'
>>> http_status_code(500)
'Internal Server Error'
Notes

Uses http.HTTPStatus from standard library.

mime

MIME Module

MIME type utilities.

This submodule provides utilities for working with MIME types, including type guessing and parsing.

Examples

from rite.net.mime import mime_guess_type, mime_parse mime_guess_type("file.json") 'application/json' mime_parse("text/html") ('text', 'html')

Modules
mime_guess_extension
Extension Guesser

Guess file extension from MIME type.

Examples

from rite.net.mime import mime_guess_extension mime_guess_extension("application/json") '.json'

Functions
mime_guess_extension
mime_guess_extension(mime_type: str) -> str | None

Guess file extension from MIME type.

Parameters:

Name Type Description Default
mime_type str

MIME type string.

required

Returns:

Type Description
str | None

Extension with dot or None.

Examples:

>>> mime_guess_extension("application/json")
'.json'
>>> mime_guess_extension("image/png")
'.png'
>>> mime_guess_extension("unknown/type") is None
True
Notes

Uses mimetypes module. Returns extension with leading dot.

mime_guess_type
MIME Type Guesser

Guess MIME type from filename.

Examples

from rite.net.mime import mime_guess_type mime_guess_type("file.json") 'application/json'

Functions
mime_guess_type
mime_guess_type(filename: str) -> str | None

Guess MIME type from filename.

Parameters:

Name Type Description Default
filename str

Filename or path.

required

Returns:

Type Description
str | None

MIME type string or None.

Examples:

>>> mime_guess_type("file.json")
'application/json'
>>> mime_guess_type("image.png")
'image/png'
>>> mime_guess_type("unknown.xyz") is None
True
Notes

Uses mimetypes module. Returns None for unknown types.

mime_parse
MIME Type Parser

Parse MIME type into main type and subtype.

Examples

from rite.net.mime import mime_parse mime_parse("application/json") ('application', 'json')

Functions
mime_parse
mime_parse(mime_type: str) -> tuple[str, str]

Parse MIME type into main type and subtype.

Parameters:

Name Type Description Default
mime_type str

MIME type string.

required

Returns:

Type Description
tuple[str, str]

Tuple of (main_type, subtype).

Examples:

>>> mime_parse("application/json")
('application', 'json')
>>> mime_parse("text/html; charset=utf-8")
('text', 'html')
>>> mime_parse("image/png")
('image', 'png')
Notes

Strips parameters like charset. Raises ValueError for invalid format.

mime_guess_extension

Extension Guesser

Guess file extension from MIME type.

Examples

from rite.net.mime import mime_guess_extension mime_guess_extension("application/json") '.json'

Functions
mime_guess_extension
mime_guess_extension(mime_type: str) -> str | None

Guess file extension from MIME type.

Parameters:

Name Type Description Default
mime_type str

MIME type string.

required

Returns:

Type Description
str | None

Extension with dot or None.

Examples:

>>> mime_guess_extension("application/json")
'.json'
>>> mime_guess_extension("image/png")
'.png'
>>> mime_guess_extension("unknown/type") is None
True
Notes

Uses mimetypes module. Returns extension with leading dot.

mime_guess_type

MIME Type Guesser

Guess MIME type from filename.

Examples

from rite.net.mime import mime_guess_type mime_guess_type("file.json") 'application/json'

Functions
mime_guess_type
mime_guess_type(filename: str) -> str | None

Guess MIME type from filename.

Parameters:

Name Type Description Default
filename str

Filename or path.

required

Returns:

Type Description
str | None

MIME type string or None.

Examples:

>>> mime_guess_type("file.json")
'application/json'
>>> mime_guess_type("image.png")
'image/png'
>>> mime_guess_type("unknown.xyz") is None
True
Notes

Uses mimetypes module. Returns None for unknown types.

mime_parse

MIME Type Parser

Parse MIME type into main type and subtype.

Examples

from rite.net.mime import mime_parse mime_parse("application/json") ('application', 'json')

Functions
mime_parse
mime_parse(mime_type: str) -> tuple[str, str]

Parse MIME type into main type and subtype.

Parameters:

Name Type Description Default
mime_type str

MIME type string.

required

Returns:

Type Description
tuple[str, str]

Tuple of (main_type, subtype).

Examples:

>>> mime_parse("application/json")
('application', 'json')
>>> mime_parse("text/html; charset=utf-8")
('text', 'html')
>>> mime_parse("image/png")
('image', 'png')
Notes

Strips parameters like charset. Raises ValueError for invalid format.

request

Request Module

HTTP request utilities.

This submodule provides utilities for making HTTP GET and POST requests using standard library.

Examples

from rite.net.request import request_get response = request_get("http://example.com") # doctest: +SKIP

Modules
request_get
GET Request

Make HTTP GET request.

Examples

from rite.net.request import request_get response = request_get("https://api.example.com/data") # doctest: +SKIP

Functions
request_get
request_get(url: str, headers: dict[str, str] | None = None, timeout: float = 30.0) -> str

Make HTTP GET request.

Parameters:

Name Type Description Default
url str

URL to request.

required
headers dict[str, str] | None

Optional request headers.

None
timeout float

Request timeout in seconds.

30.0

Returns:

Type Description
str

Response body as string.

Raises:

Type Description
URLError

On request failure.

Examples:

>>> data = request_get("http://example.com")
>>> isinstance(data, str)
True
Notes

Uses urllib from standard library. For advanced features, use external library like requests.

request_post
POST Request

Make HTTP POST request.

Examples

from rite.net.request import request_post response = request_post( ... "https://api.example.com/data", ... data={"key": "value"} ... ) # doctest: +SKIP

Functions
request_post
request_post(url: str, data: dict[str, str] | bytes | None = None, headers: dict[str, str] | None = None, timeout: float = 30.0) -> str

Make HTTP POST request.

Parameters:

Name Type Description Default
url str

URL to request.

required
data dict[str, str] | bytes | None

Data to send (dict or bytes).

None
headers dict[str, str] | None

Optional request headers.

None
timeout float

Request timeout in seconds.

30.0

Returns:

Type Description
str

Response body as string.

Raises:

Type Description
URLError

On request failure.

Examples:

>>> response = request_post(
...     "http://httpbin.org/post",
...     data={"test": "data"}
... )
Notes

Dict data is URL-encoded automatically. Uses urllib from standard library.

request_get

GET Request

Make HTTP GET request.

Examples

from rite.net.request import request_get response = request_get("https://api.example.com/data") # doctest: +SKIP

Functions
request_get
request_get(url: str, headers: dict[str, str] | None = None, timeout: float = 30.0) -> str

Make HTTP GET request.

Parameters:

Name Type Description Default
url str

URL to request.

required
headers dict[str, str] | None

Optional request headers.

None
timeout float

Request timeout in seconds.

30.0

Returns:

Type Description
str

Response body as string.

Raises:

Type Description
URLError

On request failure.

Examples:

>>> data = request_get("http://example.com")
>>> isinstance(data, str)
True
Notes

Uses urllib from standard library. For advanced features, use external library like requests.

request_post

POST Request

Make HTTP POST request.

Examples

from rite.net.request import request_post response = request_post( ... "https://api.example.com/data", ... data={"key": "value"} ... ) # doctest: +SKIP

Functions
request_post
request_post(url: str, data: dict[str, str] | bytes | None = None, headers: dict[str, str] | None = None, timeout: float = 30.0) -> str

Make HTTP POST request.

Parameters:

Name Type Description Default
url str

URL to request.

required
data dict[str, str] | bytes | None

Data to send (dict or bytes).

None
headers dict[str, str] | None

Optional request headers.

None
timeout float

Request timeout in seconds.

30.0

Returns:

Type Description
str

Response body as string.

Raises:

Type Description
URLError

On request failure.

Examples:

>>> response = request_post(
...     "http://httpbin.org/post",
...     data={"test": "data"}
... )
Notes

Dict data is URL-encoded automatically. Uses urllib from standard library.

servers

Modules
server_http
Rite - HTTP Server Module

This module provides a simple HTTP server implementation using Python's built-in http.server library.

Classes
BaseHTTPServer

Bases: BaseHTTPRequestHandler

HTTP Server Class

A simple HTTP server handler class that responds to GET and POST requests.

Attributes
None
Methods
do_get(): Handle GET requests.
do_post(): Handle POST requests.
_send_response(status_code, content, content_type): Helper method to
send HTTP responses.
_handle_404(): Helper method to handle 404 Not Found responses.
run(server_class, handler_class, port): Static method to run the
server.
Functions
do_get
do_get()

Handle GET requests. Parses the request path and query parameters.

Returns
None
do_post
do_post()

Handle POST requests. Parses the posted data.

Returns
None
run staticmethod
run(server_class: type[HTTPServer] = HTTPServer, handler_class: type[BaseHTTPRequestHandler] | None = None, port: int = 8000)

Static method to run the HTTP server.

Parameters:

Name Type Description Default
server_class HTTPServer

The HTTP server class.

HTTPServer
handler_class BaseHTTPRequestHandler

The HTTP request handler

None
port int

Port number to run the server on.

8000
Returns
None
Functions
test
test()

Test Function

server_sqlite
Rite - SQLite Server Module

This module provides a simple SQLite server implementation using Python's built-in sqlite3 library.

Classes
SQLiteServer
SQLiteServer(db_path: str)

A SQLite3 server class for handling database operations with enhanced functionality.

This class provides a simplified interface for interacting with SQLite databases, including methods for executing queries, handling transactions, and performing basic CRUD operations.

Attributes
db_path (str): Path to the SQLite3 database file.
Methods
execute_query(query, params): Executes a SQL query with parameters.
fetch_all(query, params): Fetches all rows from a SQL query.
fetch_one(query, params): Fetches the first row from a SQL query.
insert(table, data_dict): Inserts data into a table.
update(table, data_dict, condition): Updates data in a table based on
a condition.
delete(table, condition): Deletes data from a table based on a condition.
transaction(queries): Executes a series of queries in a transaction.

Initializes the SQLite3 server with the specified database path.

Parameters:

Name Type Description Default
db_path str

Path to the SQLite3 database file.

required
Functions
delete
delete(table: str, condition: str)

Deletes rows from a table.

Parameters:

Name Type Description Default
table str

Name of the table to delete from.

required
condition str

SQL condition for the deletion.

required
Returns
None
execute_query
execute_query(query: str, params: tuple[Any, ...] = ()) -> None

Executes a SQL query with parameters.

Parameters:

Name Type Description Default
query str

SQL query to execute.

required
params Tuple

Parameters for the SQL query.

()
Returns
None
fetch_all
fetch_all(query: str, params: tuple[Any, ...] = ()) -> list[tuple[Any, ...]]

Fetches all rows from a SQL query.

Parameters:

Name Type Description Default
query str

SQL query to execute.

required
params Tuple

Parameters for the SQL query.

()
Returns
list[Tuple]: List of rows returned by the query.
fetch_one
fetch_one(query: str, params: Sequence[Any] | dict[str, Any] | tuple[Any, ...] = ()) -> tuple[Any, ...]

Fetches the first row from a SQL query.

Parameters:

Name Type Description Default
query str

SQL query to execute.

required
params Tuple

Parameters for the SQL query.

()
Returns
Tuple: The first row returned by the query.
insert
insert(table: str, data_dict: dict)

Inserts a new row into a table.

Parameters:

Name Type Description Default
table str

Name of the table to insert data into.

required
data_dict dict

Dictionary containing column names and values.

required
Returns
None
transaction
transaction(queries: list[tuple[str, tuple[Any, ...]]]) -> None

Executes a series of queries in a single transaction.

Parameters:

Name Type Description Default
queries list[tuple[str, Tuple]]

A list of queries and their parameters.

required

Raises:

Type Description
Error

If an error occurs during the transaction.

update
update(table: str, data_dict: dict, condition: str)

Updates rows in a table.

Parameters:

Name Type Description Default
table str

Name of the table to update.

required
data_dict dict

Dictionary containing column names and values.

required
condition str

SQL condition for the update.

required
Returns
None
Functions
test
test()

Test Function

url

URL Module

URL parsing and manipulation utilities.

This submodule provides utilities for parsing, building, encoding, and decoding URLs.

Examples

from rite.net.url import ( ... url_parse, ... url_encode, ... url_decode ... ) url_encode("hello world") 'hello%20world'

Modules
url_build
URL Builder

Build URL from components.

Examples

from rite.net.url import url_build url_build("https", "example.com", "/path", query="q=1") 'https://example.com/path?q=1'

Functions
url_build
url_build(scheme: str = '', netloc: str = '', path: str = '', params: str = '', query: str | dict[str, str] = '', fragment: str = '') -> str

Build URL from components.

Parameters:

Name Type Description Default
scheme str

URL scheme (http, https, etc.).

''
netloc str

Network location (domain:port).

''
path str

Path component.

''
params str

Parameters (rarely used).

''
query str | dict[str, str]

Query string or dict.

''
fragment str

Fragment identifier.

''

Returns:

Type Description
str

Complete URL string.

Examples:

>>> url_build("https", "example.com", "/api")
'https://example.com/api'
>>> url_build("http", "test.com", query={"a": "1", "b": "2"})
'http://test.com?a=1&b=2'
Notes

Uses urllib.parse.urlunparse. Query can be string or dict.

url_decode
URL Decoder

Decode URL-encoded text.

Examples

from rite.net.url import url_decode url_decode("hello%20world") 'hello world'

Functions
url_decode
url_decode(text: str) -> str

URL-decode text.

Parameters:

Name Type Description Default
text str

URL-encoded text.

required

Returns:

Type Description
str

Decoded text.

Examples:

>>> url_decode("hello%20world")
'hello world'
>>> url_decode("caf%C3%A9")
'café'
Notes

Uses urllib.parse.unquote. Decodes %XX sequences.

url_encode
URL Encoder

Encode URL component.

Examples

from rite.net.url import url_encode url_encode("hello world") 'hello%20world'

Functions
url_encode
url_encode(text: str, safe: str = '') -> str

URL-encode text.

Parameters:

Name Type Description Default
text str

Text to encode.

required
safe str

Characters not to encode.

''

Returns:

Type Description
str

URL-encoded text.

Examples:

>>> url_encode("hello world")
'hello%20world'
>>> url_encode("a/b/c", safe="/")
'a/b/c'
Notes

Uses urllib.parse.quote. Encodes special characters to %XX format.

url_parse
URL Parser

Parse URL into components.

Examples

from rite.net.url import url_parse url_parse("https://example.com:8080/path?q=1#frag") # doctest: +SKIP

Functions
url_parse
url_parse(url: str) -> ParseResult

Parse URL into components.

Parameters:

Name Type Description Default
url str

URL string to parse.

required

Returns:

Type Description
ParseResult

ParseResult with scheme, netloc, path, params, query, fragment.

Examples:

>>> result = url_parse("http://example.com/path")
>>> result.scheme
'http'
>>> result.netloc
'example.com'
Notes

Uses urllib.parse.urlparse. Returns ParseResult named tuple.

url_parse_query
Query String Parser

Parse query string to dictionary.

Examples

from rite.net.url import url_parse_query url_parse_query("a=1&b=2&c=3")

Functions
url_parse_query
url_parse_query(query: str) -> dict[str, list[str]]

Parse query string to dictionary.

Parameters:

Name Type Description Default
query str

Query string (without ?).

required

Returns:

Type Description
dict[str, list[str]]

Dictionary with lists of values.

Examples:

>>> url_parse_query("key=value")
{'key': ['value']}
>>> url_parse_query("a=1&a=2&b=3")
{'a': ['1', '2'], 'b': ['3']}
Notes

Uses urllib.parse.parse_qs. Values are always lists (multiple values supported).

url_build

URL Builder

Build URL from components.

Examples

from rite.net.url import url_build url_build("https", "example.com", "/path", query="q=1") 'https://example.com/path?q=1'

Functions
url_build
url_build(scheme: str = '', netloc: str = '', path: str = '', params: str = '', query: str | dict[str, str] = '', fragment: str = '') -> str

Build URL from components.

Parameters:

Name Type Description Default
scheme str

URL scheme (http, https, etc.).

''
netloc str

Network location (domain:port).

''
path str

Path component.

''
params str

Parameters (rarely used).

''
query str | dict[str, str]

Query string or dict.

''
fragment str

Fragment identifier.

''

Returns:

Type Description
str

Complete URL string.

Examples:

>>> url_build("https", "example.com", "/api")
'https://example.com/api'
>>> url_build("http", "test.com", query={"a": "1", "b": "2"})
'http://test.com?a=1&b=2'
Notes

Uses urllib.parse.urlunparse. Query can be string or dict.

url_decode

URL Decoder

Decode URL-encoded text.

Examples

from rite.net.url import url_decode url_decode("hello%20world") 'hello world'

Functions
url_decode
url_decode(text: str) -> str

URL-decode text.

Parameters:

Name Type Description Default
text str

URL-encoded text.

required

Returns:

Type Description
str

Decoded text.

Examples:

>>> url_decode("hello%20world")
'hello world'
>>> url_decode("caf%C3%A9")
'café'
Notes

Uses urllib.parse.unquote. Decodes %XX sequences.

url_encode

URL Encoder

Encode URL component.

Examples

from rite.net.url import url_encode url_encode("hello world") 'hello%20world'

Functions
url_encode
url_encode(text: str, safe: str = '') -> str

URL-encode text.

Parameters:

Name Type Description Default
text str

Text to encode.

required
safe str

Characters not to encode.

''

Returns:

Type Description
str

URL-encoded text.

Examples:

>>> url_encode("hello world")
'hello%20world'
>>> url_encode("a/b/c", safe="/")
'a/b/c'
Notes

Uses urllib.parse.quote. Encodes special characters to %XX format.

url_parse

URL Parser

Parse URL into components.

Examples

from rite.net.url import url_parse url_parse("https://example.com:8080/path?q=1#frag") # doctest: +SKIP

Functions
url_parse
url_parse(url: str) -> ParseResult

Parse URL into components.

Parameters:

Name Type Description Default
url str

URL string to parse.

required

Returns:

Type Description
ParseResult

ParseResult with scheme, netloc, path, params, query, fragment.

Examples:

>>> result = url_parse("http://example.com/path")
>>> result.scheme
'http'
>>> result.netloc
'example.com'
Notes

Uses urllib.parse.urlparse. Returns ParseResult named tuple.

url_parse_query

Query String Parser

Parse query string to dictionary.

Examples

from rite.net.url import url_parse_query url_parse_query("a=1&b=2&c=3")

Functions
url_parse_query
url_parse_query(query: str) -> dict[str, list[str]]

Parse query string to dictionary.

Parameters:

Name Type Description Default
query str

Query string (without ?).

required

Returns:

Type Description
dict[str, list[str]]

Dictionary with lists of values.

Examples:

>>> url_parse_query("key=value")
{'key': ['value']}
>>> url_parse_query("a=1&a=2&b=3")
{'a': ['1', '2'], 'b': ['3']}
Notes

Uses urllib.parse.parse_qs. Values are always lists (multiple values supported).

validation

Validation Module

Network validation utilities.

This submodule provides utilities for validating URLs, emails, IP addresses, and port numbers.

Examples

from rite.net.validation import ( ... validation_is_url, ... validation_is_email ... ) validation_is_url("https://example.com") True

Modules
validation_is_email
Email Validator

Validate email address format.

Examples

from rite.net.validation import validation_is_email validation_is_email("user@example.com") True

Functions
validation_is_email
validation_is_email(email: str) -> bool

Validate email address format.

Parameters:

Name Type Description Default
email str

Email address to validate.

required

Returns:

Type Description
bool

True if valid email format.

Examples:

>>> validation_is_email("[email protected]")
True
>>> validation_is_email("invalid.email")
False
>>> validation_is_email("[email protected]")
True
Notes

Basic validation using regex. Does not verify email existence.

validation_is_ipv4
IP Address Validator

Validate IPv4 address format.

Examples

from rite.net.validation import validation_is_ipv4 validation_is_ipv4("192.168.1.1") True

Functions
validation_is_ipv4
validation_is_ipv4(ip: str) -> bool

Validate IPv4 address format.

Parameters:

Name Type Description Default
ip str

IP address string.

required

Returns:

Type Description
bool

True if valid IPv4 address.

Examples:

>>> validation_is_ipv4("192.168.1.1")
True
>>> validation_is_ipv4("256.1.1.1")
False
>>> validation_is_ipv4("not an ip")
False
Notes

Uses ipaddress module from standard library. Validates format only.

validation_is_port
Port Validator

Validate port number.

Examples

from rite.net.validation import validation_is_port validation_is_port(8080) True

Functions
validation_is_port
validation_is_port(port: int) -> bool

Validate port number.

Parameters:

Name Type Description Default
port int

Port number to validate.

required

Returns:

Type Description
bool

True if valid port (1-65535).

Examples:

>>> validation_is_port(80)
True
>>> validation_is_port(8080)
True
>>> validation_is_port(0)
False
>>> validation_is_port(70000)
False
Notes

Valid range: 1-65535. Well-known ports: 0-1023.

validation_is_url
URL Validator

Validate URL format.

Examples

from rite.net.validation import validation_is_url validation_is_url("https://example.com") True

Functions
validation_is_url
validation_is_url(url: str, require_scheme: bool = True) -> bool

Validate URL format.

Parameters:

Name Type Description Default
url str

URL string to validate.

required
require_scheme bool

Require scheme (http://, https://).

True

Returns:

Type Description
bool

True if valid URL format.

Examples:

>>> validation_is_url("https://example.com")
True
>>> validation_is_url("not a url")
False
>>> validation_is_url("example.com", require_scheme=False)
True
Notes

Basic validation using regex. Checks format, not existence.

validation_is_email

Email Validator

Validate email address format.

Examples

from rite.net.validation import validation_is_email validation_is_email("user@example.com") True

Functions
validation_is_email
validation_is_email(email: str) -> bool

Validate email address format.

Parameters:

Name Type Description Default
email str

Email address to validate.

required

Returns:

Type Description
bool

True if valid email format.

Examples:

>>> validation_is_email("[email protected]")
True
>>> validation_is_email("invalid.email")
False
>>> validation_is_email("[email protected]")
True
Notes

Basic validation using regex. Does not verify email existence.

validation_is_ipv4

IP Address Validator

Validate IPv4 address format.

Examples

from rite.net.validation import validation_is_ipv4 validation_is_ipv4("192.168.1.1") True

Functions
validation_is_ipv4
validation_is_ipv4(ip: str) -> bool

Validate IPv4 address format.

Parameters:

Name Type Description Default
ip str

IP address string.

required

Returns:

Type Description
bool

True if valid IPv4 address.

Examples:

>>> validation_is_ipv4("192.168.1.1")
True
>>> validation_is_ipv4("256.1.1.1")
False
>>> validation_is_ipv4("not an ip")
False
Notes

Uses ipaddress module from standard library. Validates format only.

validation_is_port

Port Validator

Validate port number.

Examples

from rite.net.validation import validation_is_port validation_is_port(8080) True

Functions
validation_is_port
validation_is_port(port: int) -> bool

Validate port number.

Parameters:

Name Type Description Default
port int

Port number to validate.

required

Returns:

Type Description
bool

True if valid port (1-65535).

Examples:

>>> validation_is_port(80)
True
>>> validation_is_port(8080)
True
>>> validation_is_port(0)
False
>>> validation_is_port(70000)
False
Notes

Valid range: 1-65535. Well-known ports: 0-1023.

validation_is_url

URL Validator

Validate URL format.

Examples

from rite.net.validation import validation_is_url validation_is_url("https://example.com") True

Functions
validation_is_url
validation_is_url(url: str, require_scheme: bool = True) -> bool

Validate URL format.

Parameters:

Name Type Description Default
url str

URL string to validate.

required
require_scheme bool

Require scheme (http://, https://).

True

Returns:

Type Description
bool

True if valid URL format.

Examples:

>>> validation_is_url("https://example.com")
True
>>> validation_is_url("not a url")
False
>>> validation_is_url("example.com", require_scheme=False)
True
Notes

Basic validation using regex. Checks format, not existence.

Submodules

URL

Parse and manipulate URLs.

URL Module

URL parsing and manipulation utilities.

This submodule provides utilities for parsing, building, encoding, and decoding URLs.

Examples

from rite.net.url import ( ... url_parse, ... url_encode, ... url_decode ... ) url_encode("hello world") 'hello%20world'

Modules

url_parse

URL Parser

Parse URL into components.

Examples

from rite.net.url import url_parse url_parse("https://example.com:8080/path?q=1#frag") # doctest: +SKIP

Functions
url_parse
url_parse(url: str) -> ParseResult

Parse URL into components.

Parameters:

Name Type Description Default
url str

URL string to parse.

required

Returns:

Type Description
ParseResult

ParseResult with scheme, netloc, path, params, query, fragment.

Examples:

>>> result = url_parse("http://example.com/path")
>>> result.scheme
'http'
>>> result.netloc
'example.com'
Notes

Uses urllib.parse.urlparse. Returns ParseResult named tuple.

url_build

URL Builder

Build URL from components.

Examples

from rite.net.url import url_build url_build("https", "example.com", "/path", query="q=1") 'https://example.com/path?q=1'

Functions
url_build
url_build(scheme: str = '', netloc: str = '', path: str = '', params: str = '', query: str | dict[str, str] = '', fragment: str = '') -> str

Build URL from components.

Parameters:

Name Type Description Default
scheme str

URL scheme (http, https, etc.).

''
netloc str

Network location (domain:port).

''
path str

Path component.

''
params str

Parameters (rarely used).

''
query str | dict[str, str]

Query string or dict.

''
fragment str

Fragment identifier.

''

Returns:

Type Description
str

Complete URL string.

Examples:

>>> url_build("https", "example.com", "/api")
'https://example.com/api'
>>> url_build("http", "test.com", query={"a": "1", "b": "2"})
'http://test.com?a=1&b=2'
Notes

Uses urllib.parse.urlunparse. Query can be string or dict.

url_encode

URL Encoder

Encode URL component.

Examples

from rite.net.url import url_encode url_encode("hello world") 'hello%20world'

Functions
url_encode
url_encode(text: str, safe: str = '') -> str

URL-encode text.

Parameters:

Name Type Description Default
text str

Text to encode.

required
safe str

Characters not to encode.

''

Returns:

Type Description
str

URL-encoded text.

Examples:

>>> url_encode("hello world")
'hello%20world'
>>> url_encode("a/b/c", safe="/")
'a/b/c'
Notes

Uses urllib.parse.quote. Encodes special characters to %XX format.

url_decode

URL Decoder

Decode URL-encoded text.

Examples

from rite.net.url import url_decode url_decode("hello%20world") 'hello world'

Functions
url_decode
url_decode(text: str) -> str

URL-decode text.

Parameters:

Name Type Description Default
text str

URL-encoded text.

required

Returns:

Type Description
str

Decoded text.

Examples:

>>> url_decode("hello%20world")
'hello world'
>>> url_decode("caf%C3%A9")
'café'
Notes

Uses urllib.parse.unquote. Decodes %XX sequences.

url_parse_query

Query String Parser

Parse query string to dictionary.

Examples

from rite.net.url import url_parse_query url_parse_query("a=1&b=2&c=3")

Functions
url_parse_query
url_parse_query(query: str) -> dict[str, list[str]]

Parse query string to dictionary.

Parameters:

Name Type Description Default
query str

Query string (without ?).

required

Returns:

Type Description
dict[str, list[str]]

Dictionary with lists of values.

Examples:

>>> url_parse_query("key=value")
{'key': ['value']}
>>> url_parse_query("a=1&a=2&b=3")
{'a': ['1', '2'], 'b': ['3']}
Notes

Uses urllib.parse.parse_qs. Values are always lists (multiple values supported).

HTTP

HTTP utilities and status codes.

HTTP Module

HTTP protocol utilities.

This submodule provides utilities for HTTP status codes, methods, and header parsing.

Examples

from rite.net.http import ( ... http_status_code, ... http_is_method ... ) http_status_code(200) 'OK'

Modules

http_status_code

HTTP Status Codes

HTTP status code constants and utilities.

Examples

from rite.net.http import http_status_code http_status_code(200) 'OK'

Functions
http_status_code
http_status_code(code: int) -> str

Get HTTP status description.

Parameters:

Name Type Description Default
code int

HTTP status code.

required

Returns:

Type Description
str

Status description.

Examples:

>>> http_status_code(200)
'OK'
>>> http_status_code(404)
'Not Found'
>>> http_status_code(500)
'Internal Server Error'
Notes

Uses http.HTTPStatus from standard library.

http_is_method

HTTP Methods

Check if HTTP method is valid.

Examples

from rite.net.http import http_is_method http_is_method("GET") True

Functions
http_is_method
http_is_method(method: str) -> bool

Check if HTTP method is valid.

Parameters:

Name Type Description Default
method str

HTTP method to check.

required

Returns:

Type Description
bool

True if valid HTTP method.

Examples:

>>> http_is_method("GET")
True
>>> http_is_method("POST")
True
>>> http_is_method("INVALID")
False
Notes

Case-sensitive. Checks against standard HTTP methods.

http_parse_headers

HTTP Headers Parser

Parse HTTP headers from string.

Examples

from rite.net.http import http_parse_headers headers = "Content-Type: application/json\r\nHost: example.com" http_parse_headers(headers)

Functions
http_parse_headers
http_parse_headers(headers_str: str) -> dict[str, str]

Parse HTTP headers from string.

Parameters:

Name Type Description Default
headers_str str

Raw headers string.

required

Returns:

Type Description
dict[str, str]

Dictionary of header name to value.

Examples:

>>> http_parse_headers("User-Agent: Mozilla/5.0")
{'User-Agent': 'Mozilla/5.0'}
>>> http_parse_headers(
...     "Accept: text/html\r\nAccept-Encoding: gzip"
... )
{'Accept': 'text/html', 'Accept-Encoding': 'gzip'}
Notes

Splits on colon (:). Handles \r\n line endings.

Validation

Validate network-related formats.

Validation Module

Network validation utilities.

This submodule provides utilities for validating URLs, emails, IP addresses, and port numbers.

Examples

from rite.net.validation import ( ... validation_is_url, ... validation_is_email ... ) validation_is_url("https://example.com") True

Modules

validation_is_url

URL Validator

Validate URL format.

Examples

from rite.net.validation import validation_is_url validation_is_url("https://example.com") True

Functions
validation_is_url
validation_is_url(url: str, require_scheme: bool = True) -> bool

Validate URL format.

Parameters:

Name Type Description Default
url str

URL string to validate.

required
require_scheme bool

Require scheme (http://, https://).

True

Returns:

Type Description
bool

True if valid URL format.

Examples:

>>> validation_is_url("https://example.com")
True
>>> validation_is_url("not a url")
False
>>> validation_is_url("example.com", require_scheme=False)
True
Notes

Basic validation using regex. Checks format, not existence.

validation_is_email

Email Validator

Validate email address format.

Examples

from rite.net.validation import validation_is_email validation_is_email("user@example.com") True

Functions
validation_is_email
validation_is_email(email: str) -> bool

Validate email address format.

Parameters:

Name Type Description Default
email str

Email address to validate.

required

Returns:

Type Description
bool

True if valid email format.

Examples:

>>> validation_is_email("[email protected]")
True
>>> validation_is_email("invalid.email")
False
>>> validation_is_email("[email protected]")
True
Notes

Basic validation using regex. Does not verify email existence.

validation_is_ipv4

IP Address Validator

Validate IPv4 address format.

Examples

from rite.net.validation import validation_is_ipv4 validation_is_ipv4("192.168.1.1") True

Functions
validation_is_ipv4
validation_is_ipv4(ip: str) -> bool

Validate IPv4 address format.

Parameters:

Name Type Description Default
ip str

IP address string.

required

Returns:

Type Description
bool

True if valid IPv4 address.

Examples:

>>> validation_is_ipv4("192.168.1.1")
True
>>> validation_is_ipv4("256.1.1.1")
False
>>> validation_is_ipv4("not an ip")
False
Notes

Uses ipaddress module from standard library. Validates format only.

validation_is_port

Port Validator

Validate port number.

Examples

from rite.net.validation import validation_is_port validation_is_port(8080) True

Functions
validation_is_port
validation_is_port(port: int) -> bool

Validate port number.

Parameters:

Name Type Description Default
port int

Port number to validate.

required

Returns:

Type Description
bool

True if valid port (1-65535).

Examples:

>>> validation_is_port(80)
True
>>> validation_is_port(8080)
True
>>> validation_is_port(0)
False
>>> validation_is_port(70000)
False
Notes

Valid range: 1-65535. Well-known ports: 0-1023.

Examples

from rite.net import (
    url_parse,
    validation_is_url,
    http_status_code
)

# Parse URL
parts = url_parse("https://example.com/path?key=value")

# Validate URL
is_valid = validation_is_url("https://example.com")

# Get HTTP status message
message = http_status_code(404)  # "Not Found"