Compare commits

...

10 Commits

Author SHA1 Message Date
97b8b777e3 Merge branch 'main' of github.com:Architecture-Mechanism/bellande_operating_system_package_manager into main
code of confuct
2024-12-11 21:19:52 -05:00
4cb5c262fd changes 2024-12-11 21:19:49 -05:00
Ronaldson Bellande
ac83262bb0 Update README.md 2024-10-27 12:37:01 -04:00
Ronaldson Bellande
fa3196b925 Create CODE_OF_CONDUCT.md 2024-10-27 12:35:10 -04:00
b787be152a latest pushes 2024-10-10 21:13:05 -04:00
a6665c965b Merge branch 'main' of github.com:Architecture-Mechanism/bellande_operating_system_package_manager into main 2024-10-10 20:52:53 -04:00
ea7bf559c8 latest pushes 2024-10-10 20:52:27 -04:00
Ronaldson Bellande
4adddb1a6e Update README.md 2024-10-10 19:52:49 -04:00
Ronaldson Bellande
69a4a1346f Update README.md 2024-10-02 07:48:30 -04:00
Ronaldson Bellande
3a4040c76d Update README.md 2024-07-21 09:03:01 -04:00
7 changed files with 168 additions and 42 deletions

4
.gitignore vendored
View File

@@ -1,5 +1,3 @@
publish.sh
setup_publish_env.sh
bospm_publish_env
MANIFEST
dist
build

71
CODE_OF_CONDUCT.md Normal file
View File

@@ -0,0 +1,71 @@
# Code of Conduct - Architectural Standards
## Our Pledge
In the interest of fostering a clear and consistent development environment, we pledge to maintain architectural integrity across all programming languages and implementations within this project.
## Fundamental Principle
- **Architectural names remain consistent and unchanging regardless of programming language implementation. Whether written in Python, Java, C++, or any other language, the architectural pattern's name and core principles remain identical and immutable.**
## Our Standards
### Architectural Consistency
We recognize that architectural patterns and their nomenclature remain constant regardless of the programming language used for implementation. This means:
1. Architectural pattern names shall remain consistent across all programming languages
2. The fundamental principles of each architectural pattern shall be preserved regardless of implementation
3. Documentation must reference architectural patterns using their standard industry names
### Examples of Name Preservation
- A **Repository Pattern** remains a "Repository Pattern" whether implemented in:
- Java
- Python
- C#
- JavaScript
- Go
- Any other programming language
- An **Event Sourcing** architecture remains "Event Sourcing" whether built in:
- Rust
- Kotlin
- TypeScript
- PHP
- Any other technology stack
- **Regardless of the programming language used, the name Bellande remains consistent across all architectures and code**
### Implementation Guidelines
1. When implementing architectural patterns:
- Always use the standard architectural name
- Never rename patterns based on language preferences
- Document implementations using consistent architectural terminology
- Maintain pattern names even when adapting to language-specific features
2. Code organization must:
- Use standard architectural pattern names in all documentation
- Maintain consistent naming across different services/modules
- Reflect the chosen architecture's established terminology
- Preserve architectural names in comments and documentation
## Enforcement
Project maintainers are responsible for:
1. Enforcing consistent architectural naming across all implementations
2. Reviewing code to ensure architectural pattern names remain standard
3. Providing guidance on proper architectural pattern naming
4. Maintaining documentation that reflects these naming standards
## Questions and Clarifications
If you have questions about:
- How to properly name architectural patterns in your implementation
- Whether your naming conventions align with architectural standards
- How to maintain naming consistency across different services
Please reach out to the project maintainers or consult the architecture documentation.
## Version and Updates
- Version: 1.0
- Last Updated: October 26, 2024
This Code of Conduct is a living document and may be updated to better serve the project's needs while maintaining its core principle of architectural naming consistency.
## Organization Code of Conduct
The latest uptodate Code of Conduct will be distributed under the [CODE_OF_CONDUCT](https://github.com/Architecture-Mechanism/CODE_OF_CONDUCT)

View File

@@ -1,12 +1,20 @@
# Bellande Operating System Package Manager (BOSPM)
- BOSPM Stands for Bellande Operating System Package Manager
## Install pip with sudo or bell
- `sudo pip install bospm`
- `bell pip install bospm`
## BOSPM
[![Bellande's Package](https://img.shields.io/badge/Bellande's%20Package-BOSPM-blue?style=for-the-badge&logo=python&color=blue)](https://pypi.org/project/bospm)
## BellandeOS
- BOSPM is a cross-platform package manager built entirely in Python. It works on Windows, macOS, Linux, and BellandeOS without relying on any external package managers
## Repository
The BOSPM project is hosted on GitHub: [https://github.com/Algorithm-Model-Research/bellande_operating_system_package_manager](https://github.com/Algorithm-Model-Research/bellande_operating_system_package_manager)
**The BOSPM project is hosted on Bellande Technologies Git and Github**
- The BOSPM project hosted on Bellande Technologies Git: [https://git.bellande-technologies.com/BAMRI/bellande_operating_system_package_manager](https://git.bellande-technologies.com/BAMRI/bellande_operating_system_package_manager)
- The BOSPM project hosted on GitHub: [https://github.com/Architecture-Mechanism/bellande_operating_system_package_manager](https://github.com/Architecture-Mechanism/bellande_operating_system_package_manager)
## BOSPM Terminal Commands Usage
@@ -19,11 +27,14 @@ After installation, you can use bospm commands directly from the terminal:
- bospm available [--source <github|website>] List available packages
- bospm update <package_name> [<version>] [--os <os>] [--arch <arch>] Update a package
### Installation
- `$ pip install bospm`
### Upgrade (if not upgraded)
- `$ pip install --upgrade bospm`
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
(BOSPM) Bellande Operating System Package Manager is distributed under the [GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0.en.html), see [LICENSE](https://github.com/Architecture-Mechanism/bellande_operating_system_package_manager/blob/main/LICENSE) and [NOTICE](https://github.com/Architecture-Mechanism/bellande_operating_system_package_manager/blob/main/LICENSE) for more information.
## Code of Conduct
(BOSPM) Bellande Operating System Package Manager is distributed under the [CODE_OF_CONDUCT](https://github.com/Architecture-Mechanism/bellande_operating_system_package_manager/blob/main/CODE_OF_CONDUCT.md) and [NOTICE](https://github.com/Architecture-Mechanism/bellande_operating_system_package_manager/blob/main/CODE_OF_CONDUCT.md) for more information.

109
setup.py
View File

@@ -13,52 +13,97 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
from distutils.core import setup
from setuptools import setup, find_packages
from setuptools.command.install import install
import os
import sys
import shutil
this_directory = os.path.abspath(os.path.dirname(__file__))
def post_install():
# Determine the appropriate installation directory
if sys.platform.startswith('win'):
install_dir = os.path.join(os.environ.get('PROGRAMFILES', 'C:\\Program Files'), 'bospm')
script_dir = os.path.join(install_dir, 'Scripts')
os.makedirs(script_dir, exist_ok=True)
bat_path = os.path.join(script_dir, 'bospm.bat')
with open(bat_path, 'w') as f:
f.write('@echo off\n')
f.write(f'python "{os.path.join(install_dir, "bospm.py")}" %*')
else: # Unix-like systems (BellandeOS, Linux, macOS)
install_dir = '/usr/local/bospm'
bin_dir = '/usr/local/bin'
os.makedirs(install_dir, exist_ok=True)
os.makedirs(bin_dir, exist_ok=True)
script_path = os.path.join(bin_dir, 'bospm')
with open(script_path, 'w') as f:
f.write('#!/bin/bash\n')
f.write(f'python3 "{os.path.join(install_dir, "bospm.py")}" "$@"')
os.chmod(script_path, 0o755)
def read_file(filename):
with open(os.path.join(this_directory, filename), 'r', encoding='utf-8') as f:
return f.read()
# Copy the bospm.py script to the installation directory
src_path = os.path.join('src', 'bospm', 'bospm.py')
shutil.copy(src_path, install_dir)
print(f"bospm has been installed to {install_dir}")
if sys.platform.startswith('win'):
print("Please add the following directory to your PATH:")
print(script_dir)
else:
print("You can now use 'bospm' from anywhere in the terminal.")
long_description = read_file('README.md')
class PostInstallCommand(install):
def run(self):
install.run(self)
post_install()
# Determine the list of classifiers based on Python version
if sys.version_info[0] == 2:
python_classifiers = [
# Read long description from README.md
with open("README.md", "r", encoding="utf-8") as fh:
long_description = fh.read()
setup(
name="bospm",
version="0.1.1",
description="Bellande Operating System Package Manager",
long_description=long_description,
long_description_content_type="text/markdown",
author="Ronaldson Bellande",
author_email="ronaldsonbellande@gmail.com",
packages=find_packages(where="src"),
package_dir={"": "src"},
include_package_data=True,
install_requires=[
"requests>=2.25.1",
],
classifiers=[
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
"Operating System :: OS Independent",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.7",
]
else:
python_classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
]
setup(
name="bospm",
version="0.1.0",
author="Ronaldson Bellande",
author_email="ronaldsonbellande@gmail.com",
description="Bellande Operating System Package Manager",
long_description=long_description,
url="https://github.com/Algorithm-Model-Research/bellande_operating_system_package_manager",
packages=['bospm'],
package_dir={'bospm': 'src/bospm'},
classifiers=[
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
"Operating System :: OS Independent",
] + python_classifiers,
requires=["requests (>=2.25.1)"],
scripts=['src/bospm/bospm.py'],
],
python_requires=">=2.7",
extras_require={
"dev": ["pytest", "pytest-cov[all]", "mypy", "black"],
},
entry_points={
'console_scripts': [
'bospm = bospm.bospm:main',
],
},
project_urls={
"Home": "https://github.com/Architecture-Mechanism/bellande_operating_system_package_manager",
"Bug Reports": "https://github.com/Architecture-Mechanism/bellande_operating_system_package_manager/issues",
"Source": "https://github.com/Architecture-Mechanism/bellande_operating_system_package_manager",
},
cmdclass={
'install': PostInstallCommand,
},
license="GNU General Public License v3 or later (GPLv3+)",
platforms=["any"],
)

1
src/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
bospm.egg-info

View File

@@ -34,8 +34,8 @@ REPO_DIR = os.path.join(CONFIG_DIR, 'repo')
INSTALL_DIR = os.path.join(CONFIG_DIR, 'installed')
# Repository and website URLs
GITHUB_REPO = "https://github.com/Algorithm-Model-Research/bellande_operating_system_package"
TEMP_WEBSITE = "https://example.com/bospm_packages" # Temporary website URL
GITHUB_REPO = "https://github.com/Architecture-Mechanism/bellande_operating_system_package"
TEMP_WEBSITE = "https://bellande-architecture-mechanism-research-innovation-center.org/bospm_packages" # Temporary website URL
def ensure_dirs():
for dir in [CONFIG_DIR, PACKAGE_DIR, REPO_DIR, INSTALL_DIR]: