Skip to content

Commit 6f00d21

Browse files
committed
Update for 1.1
1. Update version to 1.1 other edits in pyproject.toml, manifest.in, setup.py 2. Added changes for 1.1 to main changelog.md, removed changlog_v1_1_0.md
1 parent f9ca715 commit 6f00d21

File tree

5 files changed

+102
-136
lines changed

5 files changed

+102
-136
lines changed

CHANGELOG.md

Lines changed: 78 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -5,43 +5,53 @@ All notable changes to python-alfresco-api will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## [1.0.0] - 2025-01-25
8+
## [Unreleased]
9+
10+
## [1.1.0] - 2025-07-18
911

1012
### Added
11-
- Initial stable release of python-alfresco-api
12-
- Complete Alfresco REST API client library with comprehensive coverage
13-
- **Event Gateway and Event Support**: Full integration with Alfresco Event Gateway for real-time event processing
14-
- Modern Pydantic v2 models for all API endpoints with full type safety
15-
- Configuration system with development-friendly defaults (localhost:8080, admin/admin)
16-
- Standardized URL architecture eliminating confusion between server URLs and API endpoints
17-
- Async support across all API clients with proper error handling
18-
- Comprehensive examples and documentation for all major use cases
19-
- Support for both Community Edition (ActiveMQ) and Enterprise Edition (Event Gateway) events
20-
- LLM integration patterns and Model Context Protocol (MCP) server examples
13+
- Implemented hierarchical client architecture with three-tier organization and lazy loading (3 tiers doesn't count optional master). This is generated from raw clients (previously had 7 files one per client).
14+
- Pydantic models are in the hierarchy (more Pydantic models to come in 1.2)
15+
- Added utility modules (content_utils_highlevel, version_utils_highlevel, node_utils_highlevel) that simplify operations (upload, download, checkin / checkout versioning, node operations, search).
2116

22-
### Changed
23-
- **Switched to openapi-python-client for better Python code generation**: Improved from previous generators for more reliable, maintainable client code
24-
- Adopted hybrid approach combining datamodel-code-generator (Pydantic models) + openapi-python-client (HTTP clients)
25-
- Implemented enterprise-grade architecture with individual API clients and factory patterns
17+
### Added
18+
- Added examples/operations/ folder easy-to-use code demonstrating high-level utilities (upload, download, checkin / checkout versioning, node operations, searc
2619

27-
### Technical Features
28-
- 328 Pydantic v2 models across 7 Alfresco APIs
29-
- 343 HTTP client files with full async support
30-
- ClientFactory pattern for easy client instantiation
31-
- AuthUtil for streamlined authentication workflows
32-
- Automatic URL normalization and validation
33-
- Multiple configuration sources: direct parameters > environment variables > config files > defaults
34-
- Comprehensive test framework with 25+ test scenarios
20+
### Added
21+
- Reorganized scripts into logical 5-folder structure (code-gen, doc-gen, utility, testing, examples-and-docs).
22+
- For v1.1, scripts added to generate hierarchical clients from raw clients with some pydantic models.
23+
- Added script(s) for doc gen
24+
25+
### Added
26+
- For v1.1 added testing for high level utilities
27+
- Added high level api testing of all operations needed forthe Python Alfresco MCP Server
28+
- Added tests of all sync and async node operations in nodes folder.
29+
- Added tests that call gets throughout clients with sync, async, and detailed sync/async. Sone tests removed
3530

3631
### Documentation
37-
- Complete API documentation index
38-
- Authentication and authorization guides
39-
- Event Gateway integration guide
40-
- Pydantic models usage examples
41-
- Master client usage patterns
42-
- URL architecture examples
32+
- v1.1 now has generated hierarchical linked md docs with for client APIs and models
33+
- Arch, models, and client type diagrams added.
34+
- Updated docs to cover v1.1.0 hierarchical client architecture.
35+
- Documented high-level utilities allow less code needed for common operations.
36+
- Documented Pydantic models and conversion utils
37+
38+
### Documentation
39+
- Readme extensively updated covering v1.1, with some details moved to docs.
40+
- Readme: see link to Architecture Overview and Diagram!
41+
- Akso a diagram in docs/pydantic_models_guide.md and in client_types_guide.md.
42+
- Readme: link to Python Alfresco MCP Server.
43+
- Readme has a gt clone command to get a Alfresco Community docker from github if you need it.
44+
- Readme covers venv setup, pip install, env setup, factory pattern, authentication, syn/async usuage, operations using siimple util function,
45+
model arch and conversion, event system, testing, project structure, requirements, ref to package developer guide, ref to related projects
46+
- Added sample-dot-env.txt example for.env file
47+
48+
#### Changed
49+
- In pyproject.toml minimum now Python 3.10, added Python 3.13.
50+
- .gitignore ignores Cursor files
51+
- run_tests.py updated for tests available in v1.1
52+
53+
4354

44-
## [Unreleased]
4555

4656
### Added
4757
- **OAuth2 Authentication Support**: Enterprise-ready OAuth2 authentication for cloud and SSO environments
@@ -67,12 +77,45 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6777
- `verify_ssl="/path/to/cert.pem"` - Custom certificate bundle path support (new)
6878
- Environment variable support for all modes: `ALFRESCO_VERIFY_SSL=/etc/ssl/certs/custom-ca.pem`
6979
- Full compatibility with underlying `AuthenticatedClient` SSL options
70-
- **Clean Architecture Implementation**: Centralized authentication and configuration management
7180
- **Shared AuthUtil**: Single authentication session across all API clients for better performance and consistency
7281
- **Centralized Environment Loading**: Only in ClientFactory, eliminating scattered .env handling
73-
- **Factory Pattern Encouraged**: README simplified to promote factory usage over direct client instantiation
74-
- **Enterprise Benefits**: Improved authentication flow, ticket management, and separation of concerns
7582
- **Simplified Client Authentication**: Clients now accept username/password directly, eliminating need for auth_util parameters
76-
- ClientFactory constructor parameters are now optional with automatic environment loading
77-
- Updated README with environment configuration examples
83+
- ClientFactory constructor parameters are now optional with automatic environment loading
84+
- Updated README with environment configuration examples
85+
86+
## [1.0.0] - 2025-06-25
87+
88+
### Added
89+
- Initial stable release of python-alfresco-api
90+
- Complete Alfresco REST API client library with comprehensive coverage
91+
- **Event Gateway and Event Support**: Full integration with Alfresco Event Gateway for real-time event processing
92+
- Modern Pydantic v2 models for all API endpoints with full type safety
93+
- Configuration system with development-friendly defaults (localhost:8080, admin/admin)
94+
- Standardized URL architecture eliminating confusion between server URLs and API endpoints
95+
- Async support across all API clients with proper error handling
96+
- Comprehensive examples and documentation for all major use cases
97+
- Support for both Community Edition (ActiveMQ) and Enterprise Edition (Event Gateway) events
98+
- LLM integration patterns and Model Context Protocol (MCP) server examples
99+
100+
### Changed
101+
- **Switched to openapi-python-client for better Python code generation**: Improved from previous generators for more reliable, maintainable client code
102+
- Adopted hybrid approach combining datamodel-code-generator (Pydantic models) + openapi-python-client (HTTP clients)
103+
- Implemented enterprise-grade architecture with individual API clients and factory patterns
104+
105+
### Technical Features
106+
- 328 Pydantic v2 models across 7 Alfresco APIs
107+
- 343 HTTP client files with full async support
108+
- ClientFactory pattern for easy client instantiation
109+
- AuthUtil for streamlined authentication workflows
110+
- Automatic URL normalization and validation
111+
- Multiple configuration sources: direct parameters > environment variables > config files > defaults
112+
- Comprehensive test framework with 25+ test scenarios
113+
114+
### Documentation
115+
- Complete API documentation index
116+
- Authentication and authorization guides
117+
- Event Gateway integration guide
118+
- Pydantic models usage examples
119+
- Master client usage patterns
120+
- URL architecture examples
78121

CHANGELOG_V1_1_0.md

Lines changed: 0 additions & 78 deletions
This file was deleted.

MANIFEST.in

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
1-
# MANIFEST.in for python-alfresco-api v1.0
1+
# MANIFEST.in for python-alfresco-api v1.1
22
# Include additional files in the package distribution
33

44
# Include documentation files
55
include README.md
66
include LICENSE
77
include CHANGELOG.md
8+
include CHANGELOG_V1_1_0.md
9+
include sample-dot-env.txt
810

911
# Include requirements files
1012
include requirements.txt
1113
include requirements-dev.txt
12-
include tests/requirements-test.txt
14+
#include tests/requirements-test.txt
1315

1416
# Include configuration files
1517
include setup.py
@@ -37,15 +39,19 @@ recursive-include tests *.py
3739
recursive-include tests *.yaml
3840
recursive-include tests *.json
3941
recursive-include tests *.txt
42+
include run_tests.py
4043

4144
# Include OpenAPI specifications
42-
recursive-include openapi *.yaml
43-
recursive-include openapi *.yml
45+
#recursive-include openapi *.yaml
46+
#recursive-include openapi *.yml
4447

4548
# Include scripts
4649
recursive-include scripts *.py
4750
recursive-include scripts *.sh
4851

52+
# Exclude cursor files
53+
exclude *.cursormemory
54+
4955
# Exclude development and build files
5056
exclude .gitignore
5157
exclude .pre-commit-config.yaml

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ build-backend = "hatchling.build"
55
[project]
66
name = "python-alfresco-api"
77
version = "1.1.0"
8-
description = "Python Client for all Alfresco Content Services REST APIs and event support"
8+
description = "Python Client for all Alfresco Content Services REST APIs, with Pydantic v2 Models, and Event Support"
99
authors = [
1010
{name = "Steve Reiner", email = "stevereiner@integratedsemantics.com"}
1111
]

setup.py

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
#!/usr/bin/env python3
22
"""
3-
Setup script for python-alfresco-api v1.0
3+
Setup script for python-alfresco-api v1.1
44
5-
A modern, type-safe Python client library for Alfresco Content Services REST APIs
6-
with comprehensive Pydantic v2 model integration and async support.
5+
Python Client for all Alfresco Content Services REST APIs, with Pydantic v2 Models, and Event Support
76
"""
87

98
from setuptools import setup, find_packages
@@ -58,18 +57,18 @@ def read_requirements(filename):
5857

5958
setup(
6059
name="python-alfresco-api",
61-
version="1.0.0",
62-
author="Python Alfresco API Team",
63-
author_email="team@python-alfresco-api.org",
64-
description="Modern, type-safe Python client for Alfresco Content Services REST APIs with Pydantic v2 integration",
60+
version="1.1.0",
61+
author="Steve Reiner",
62+
author_email="stevereiner@integratedsemantics.com",
63+
description="Python Client for all Alfresco Content Services REST APIs, with Pydantic v2 Models, and Event Support",
6564
long_description=long_description,
6665
long_description_content_type="text/markdown",
67-
url="https://github.com/your-org/python-alfresco-api",
66+
url="https://github.com/stevereiner/python-alfresco-api",
6867
project_urls={
69-
"Bug Reports": "https://github.com/your-org/python-alfresco-api/issues",
70-
"Source": "https://github.com/your-org/python-alfresco-api",
71-
"Documentation": "https://your-org.github.io/python-alfresco-api/",
72-
"Examples": "https://github.com/your-org/python-alfresco-api/tree/main/examples",
68+
"Bug Reports": "https://github.com/stevereiner/python-alfresco-api/issues",
69+
"Source": "https://github.com/stevereiner/python-alfresco-api",
70+
"Documentation": "https://github.com/stevereiner/python-alfresco-api/docs",
71+
"Examples": "https://github.com/stevereiner/python-alfresco-api/examples",
7372
},
7473
packages=find_packages(include=["python_alfresco_api", "python_alfresco_api.*"]),
7574
classifiers=[
@@ -79,13 +78,11 @@ def read_requirements(filename):
7978
"Topic :: Internet :: WWW/HTTP :: Dynamic Content :: Content Management System",
8079
"Topic :: Office/Business :: Office Suites",
8180
"Programming Language :: Python :: 3",
82-
"Programming Language :: Python :: 3.8",
83-
"Programming Language :: Python :: 3.9",
8481
"Programming Language :: Python :: 3.10",
8582
"Programming Language :: Python :: 3.11",
8683
"Programming Language :: Python :: 3.12",
84+
"Programming Language :: Python :: 3.13",
8785
"Framework :: Pydantic",
88-
"Framework :: AsyncIO",
8986
"Typing :: Typed",
9087
],
9188
python_requires=">=3.8",
@@ -102,11 +99,9 @@ def read_requirements(filename):
10299
"content-management",
103100
"rest-api",
104101
"pydantic",
105-
"async",
106-
"type-safe",
102+
"ecm",
107103
"enterprise",
108104
"document-management",
109-
"llm",
110105
"mcp",
111106
"model-context-protocol",
112107
"ai-integration"

0 commit comments

Comments
 (0)