Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
py-version: ['3.8', '3.9', '3.10']
py-version: ['3.8', '3.10', '3.13', '3.14']
services:
redis-server:
image: redis
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# CHANGELOG

## [4.1.0] - 2025-12-18
### Changed
- Update grpcio-tools requirements
- Remove deprecated multiprocessing server implementation and CLI options
- Use importlib.metadata for Python 3.8+, fallback to pkg_resources for older versions

## [4.0.0] - 2025-08-28
### Changed
- Update protobuf requirement
Expand Down
6 changes: 3 additions & 3 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
grpcio>=1.49.0,<1.69.0
grpcio-tools>=1.49.0,<1.69.0
grpcio>=1.49.0,<1.77.0
grpcio-tools>=1.49.0,<1.77.0
grpcio-reflection
protobuf<=6.31.1
protobuf<=6.34.0
pendulum
blinker<=1.8.2
jinja2==3.1.2
Expand Down
2 changes: 0 additions & 2 deletions sea/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,6 @@ class BaseApp:
"TESTING": False,
"TIMEZONE": "UTC",
"GRPC_WORKERS": 4,
"GRPC_THREADS": 1, # Only appliable in multiprocessing server
"GRPC_WORKER_MODE": "threading", # Worker mode. threading|multiprocessing
"GRPC_HOST": "0.0.0.0",
"GRPC_PORT": 6000,
"GRPC_LOG_LEVEL": "WARNING",
Expand Down
39 changes: 33 additions & 6 deletions sea/cli.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,26 @@
import sys
import os
import argparse
import pkg_resources
import logging

from sea.utils import import_string
from sea import create_app

# Use importlib.metadata for Python 3.8+, fallback to pkg_resources for older versions
try:
from importlib.metadata import entry_points
except ImportError:
# Python < 3.8
try:
import pkg_resources

def entry_points(group=None):
return pkg_resources.iter_entry_points(group)
except ImportError:
# Fallback if neither is available
def entry_points(group=None):
return []


class JobException(RuntimeError):
pass
Expand Down Expand Up @@ -60,12 +74,25 @@ def _load_jobs():
import_string("sea.cmds")

# load lib jobs
for ep in pkg_resources.iter_entry_points("sea.jobs"):
try:
# Try Python 3.10+ API first: entry_points(group="...")
try:
ep.load()
except Exception as e:
logger = logging.getLogger("sea.cmd")
logger.error("error has occurred during pkg loading: {}".format(e))
eps = entry_points(group="sea.jobs")
except TypeError:
# Python 3.8-3.9: entry_points() returns a dict-like object
all_eps = entry_points()
eps = all_eps.get("sea.jobs", [])

# Iterate over entry points (works for both EntryPoints object and list/iterator)
for ep in eps:
try:
ep.load()
except Exception as e:
logger = logging.getLogger("sea.cmd")
logger.error("error has occurred during pkg loading: {}".format(e))
except Exception as e:
logger = logging.getLogger("sea.cmd")
logger.warning("Failed to load entry points: {}".format(e))

# load app jobs
appjobs = os.path.join(path, "jobs")
Expand Down
19 changes: 3 additions & 16 deletions sea/cmds.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,10 @@


@jobm.job("server", aliases=["s"], help="Run Server")
@jobm.option(
"-M",
"--worker_mode",
required=False,
action="store",
help="Worker mode. threading|multiprocessing",
)
def server(worker_mode):
worker_mode = worker_mode or current_app.config["GRPC_WORKER_MODE"]
if worker_mode == "threading":
from sea.server.threading import Server

s = Server(current_app)
else:
from sea.server.multiprocessing import Server
def server():
from sea.server import Server

s = Server(current_app)
s = Server(current_app)
s.run()
return 0

Expand Down
183 changes: 0 additions & 183 deletions sea/server/multiprocessing.py

This file was deleted.

Loading