From 4ff8fb7931e9839393943c48d1ad0b937180db1e Mon Sep 17 00:00:00 2001 From: RonaldsonBellande Date: Wed, 4 Dec 2024 03:37:14 -0500 Subject: [PATCH] latest pushes --- .gitignore | 0 CODE_OF_CONDUCT.md | 71 ----------- CONTRIBUTING.md | 72 ------------ .../dist/bellande_probability-0.0.1.tar.gz | Bin 0 -> 3644 bytes .../dist/bellande_probability-0.0.2.tar.gz | Bin 0 -> 3890 bytes .../dist/bellande_probability-0.0.3.tar.gz | Bin 0 -> 3896 bytes Package/python/publish.sh | 2 + Package/python/setup.py | 43 +++++++ Package/python/src/.gitignore | 1 + Package/python/src/__init__.py | 0 .../src/bellande_probabilistic/__init__.py | 3 + .../bellande_probabilistic_api.py | 81 +++++++++++++ Package/rust/.gitignore | 2 + Package/rust/Cargo.toml | 24 ++++ Package/rust/publish.sh | 4 + Package/rust/src/bellande_probability.rs | 110 ++++++++++++++++++ README.md | 70 ++++++----- git_scripts/.gitignore | 3 + run_api.bellos | 15 --- 19 files changed, 311 insertions(+), 190 deletions(-) create mode 100644 .gitignore delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md create mode 100644 Package/python/dist/bellande_probability-0.0.1.tar.gz create mode 100644 Package/python/dist/bellande_probability-0.0.2.tar.gz create mode 100644 Package/python/dist/bellande_probability-0.0.3.tar.gz create mode 100755 Package/python/publish.sh create mode 100644 Package/python/setup.py create mode 100644 Package/python/src/.gitignore create mode 100644 Package/python/src/__init__.py create mode 100644 Package/python/src/bellande_probabilistic/__init__.py create mode 100644 Package/python/src/bellande_probabilistic/bellande_probabilistic_api.py create mode 100644 Package/rust/.gitignore create mode 100644 Package/rust/Cargo.toml create mode 100755 Package/rust/publish.sh create mode 100644 Package/rust/src/bellande_probability.rs create mode 100644 git_scripts/.gitignore delete mode 100644 run_api.bellos diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index 9655b48..0000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,71 +0,0 @@ -# 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/Robotics-Sensors/CODE_OF_CONDUCT) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index fee0b98..0000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,72 +0,0 @@ -# Contributing to Bellande Robotics Sensors Research Innovations Center -We're excited that you're interested in contributing to the Bellande Robotics Sensors Research Innovations Center! This document outlines the process for contributing to our organization and this repository! - -## Contributing to the Organization -To contribute to the Bellande Robotics Sensors Research Innovations Center organization, please visit our [Contributing Repository](https://github.com/Robotics-Sensors/bellande_robotics_sensors_research_innovations_center_contributor) - -## Table of Contents -1. [Contributing to the Organization](https://github.com/Robotics-Sensors/bellande_robotics_sensors_research_innovations_center_contributor) - - [Creating a Repository](https://github.com/Robotics-Sensors/bellande_robotics_sensors_research_innovations_center_contributor) - - [Team Requests](https://github.com/Robotics-Sensors/bellande_robotics_sensors_research_innovations_center_contributor) - - [Security](https://github.com/Robotics-Sensors/bellande_robotics_sensors_research_innovations_center_contributor) -2. [Contributing to Repositories](#contributing-to-repositories) - - [New Features](#new-features) - - [Bug Fixes](#bug-fixes) - - [Security Issues](#security-issues) - - [Other Contributions](#other-contributions) - -### Creating a Repository -1. Fork the [contributor repository](https://github.com/Robotics-Sensors/bellande_robotics_sensors_research_innovations_center_contributor). -2. Create a new branch with a descriptive name for your proposed repository. -3. Add a detailed description of the proposed repository in a markdown file. -4. Submit a pull request with your proposal. -5. Wait for review and approval from the organization administrators. - -### Team Requests -1. To request joining a team or creating a new team: - - Open an issue in the [contributor repository](https://github.com/Robotics-Sensors/bellande_robotics_sensors_research_innovations_center_contributor). - - Use the title format: "Team Request: [Team Name]" - - Provide details about your expertise and why you want to join or create the team. -2. An administrator will review your request and respond accordingly. - -### Security -For organization-wide security concerns: -1. Do not publicly disclose the issue. -2. Contact the organization administrators directly through a private channel. -3. Provide a detailed description of the security concern. - -## Contributing to Repositories -### New Features -1. Fork the repository you want to contribute to. -2. Create a new branch with a descriptive name for your feature. -3. Implement your feature, following the project's coding standards and guidelines. -4. Write tests for your new feature if applicable. -5. Update documentation as necessary. -6. Submit a pull request with a clear description of the new feature. - -### Bug Fixes -1. Fork the repository containing the bug. -2. Create a new branch with a descriptive name for your bug fix. -3. Fix the bug and add tests to prevent regression if possible. -4. Update documentation if necessary. -5. Submit a pull request with a clear description of the bug and your fix. - -### Security Issues -For repository-specific security issues: -1. Do not publicly disclose the issue. -2. Contact the repository maintainers directly through a private channel or request a issue in the reposiroty -3. Provide a detailed description of the security vulnerability. -4. Wait for further instructions from the maintainers. - -### Other Contributions -We welcome other types of contributions, such as: -- Documentation improvements -- Code refactoring -- Performance optimizations- Tooling and infrastructure improvements - -For these contributions, follow a similar process to submitting new features or bug fixes. - -## Code of Conduct -Please note that all contributors are expected to adhere to our Code of Conduct. Respectful and inclusive behavior is mandatory for all participants in our project. - -Thank you for contributing to the Bellande Robotics Sensors Research Innovations Center! diff --git a/Package/python/dist/bellande_probability-0.0.1.tar.gz b/Package/python/dist/bellande_probability-0.0.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..9cc9f5252539b1c64f939478f2fe29da065df39d GIT binary patch literal 3644 zcmV-C4#V*uiwFo$5Kw0V|6*lqY+-I>WnXY|Z(?C$X>4h9c`Yz5FfK7JbYXG;?H${8 z+qf~${0b~{dMu?Pb(a!twOy@aC+;S;>r1yeZVneBAqi`Wwm5Puj~Kg?_XI5hx;HC3 z=>N)N%KsOt|KE}rdpO3{UkKwg3_7T0SB*nFCLOenH;g%)WD?^v8ILiWby!jMWW2nV^lP{xJlq;SFLaYJ31S?>>}(4uBT>j{9J1L1Fn&*F zS0VFw2SwPu6hr1DPJnYmpBuYA=9~^FfpvOAUBE+7r-P184^S@xEED31->(kO(JK-V zhJAFL^nL2ip(k}zcy;_{QZFtcgK-QQ9*=1-L~n2~OrT?d>39Z99~dX(=Y%rCt@L*X zebcSm72_r0E~Al{Lu)q-Vwh0tY!(4C#$+0ofz>X(@M@v?OUmO83X*Xor*1+$c(^x> z8HObxlU2ZI784$Sjfj9i-7Yc#$XpL)x#8pj`~Lg8z{j&_b{9W>Kn{N@$l6404BHRnS{Z zL9QuqKM?%v*<78?m+jdz+4T4To%2lUe*E!A8EmHcF+a+ zg&D}wEKHD#15hs>FdC!%1Xzs5Vz6Zx^EmYAV3y&6=Lw)@2&NOHkc~MC2lB@)N&!Rn z;t3yt{^-wfiB|i9mQzIw+7AJ_(wPL-2Kt$#76#R`eiYIY3R#AzfMYQVhC-<;ia`1d z`8dv-+ZpIhbCM6;Lo|>bjlu|qI0D=-=qu{`U;U0q$- z!yvIkHY_X2;N@@Z4TdxU`yl2?uCfW>??oFkVLphKnc<)B&Q_I@#grsjbS_DjDZ!`dCPs6G6Gim z(&@P_;oJeEE%48AT#>#5eL29PFr0+B#56uiC6g+iV?6Ui?4i9W2CgG>^#h%Z6K9YF zl3a?O!M?4T%{Hg7(VACQ(eF_TP|X0QLTgp+N(pv_@E@$edsX8JgCyjP14upNg=AsY z)bEff)$UwwFeK6JqZ*i@42QBsxsnv)Jp%(Rwic-g$v_rr?yw*kGB6>~$Wo0qvmx0C zG8R)DmN8h)UnzTCDO-9O#*Ny~)5z{Ou+5S{^3DxRLZ%U6(&iUoPGBbfoKW|2?G(tl zazPA`^;fh5n&NB+{S6xJJX9o>dHZFiE&(W~+FN)k8A*N#yp#m%HQK?z&k<~Za0JTG zm3@?d0-KdXEbsGffb-DKua=$R-%iTWVl#9+w~NOZ7Fky8hH{^L8p6&vW&Nj_-ZP}# z>iI+HIUbFL27DWO#OJFvEH}~@a`OV(90A@jj0yGP`6^kbBe1(YpI#Ew0F8PemOGF` z0-dWmO?e%7$5oiz6w$KU?$0ca%YdX@Ott*Qn}glG!_&PRwp%N2fj97ex$lR4*y+=t ztk4zZF6`p)2rT0EanDU94dClo&V+4zDb6qL|JD9q?f=#O-!=YU=_Rt=!Eh`7-&W)1 z_+O*7EdRiSLjJY?_w$zvG8{U>^1U}=JaqaAg*U=3l0V?RoWS>rp*4ZF|DV(T*IL)@ ze_h-EN3s94W&2-i!uyeycWwVO`yb7=6aT&0{?}T~#;X0VY5V^;Wx&EQ%Hx5;XC1OQ zeNsXL8hDP18gj#sUS8qfD3~@F4!eA^*L(SP&mMbb37HK3BY_)wG#GZxBpz7L&7z0| z3`QO42@#%R$IBypu(ueDYzCI6P&5qLWkCW47!;DZjy07hNBQ`>rsP!hZ~=4IydI8L zP^(0AS0AhgbKKNR<;1fHXj_U#D$J>SNOZm8j9997WYD{7-V*dy@Y%d~msX*0H6jcs z;LJ6POMs3?S@(k}oKm9lV_HcA*H6SGW=_Z_CfmE8;F?Lx?uQB_5Z za+JCA2=5Z)LnFtk6N&5g!0|FUmnyW~y)f1I1S96`Y$~`&w#^4=%4oB~C1bKYtL%Qr zNf9yH4g%aV9xPC=M25v95&adPGQyj6_;F=r#H8nlch<4?4)nBhJ(K_y%Q%4v+02n) z3ciRF7?g)TaZ;A$J6XK()=q`T62x#_m3;HPa-EL_8ul@g8|39MtztU%>Gz}JVhfL%20Hh(FXu0@OinjmS z{x81&RdxJd+y6W5{|#9SIHK!z1b5i~X1m&6mj6bz)oN<{{}|;d`i$v_##6M7OhiDl zjU+@s^WgkLz_CH<;hJ&ZGusd_JS@==5IiWy5Zd1-y%4}3oKXlkwv$X~7*D?{C!Cf0 zG$@l`qQd`mLmh4rk$%Esp8dvb7-0qksNW*(DErQ5+%P;cKx2GKoV6kGr5q@QyP&d^ zfZ%yjQVC5FH0M#A z#xXx+y?Ee-y#e}#8rd=Kd)QOK( z`bP3)f-ljh5&?HQ@NG54FUPu+47e6{wXc}X^7RF2h(e*Dx^p47qY%U~WAc(*{;rz9 zQbuW4eHO1_vKgkpxS;SHV5&Ibg+-V+VL=WmP^)S(6@$%*I7z?k$;ZODfNdf<-4QTw zTo{;pj0w$(F9o}+#vSy5d^E*bJfCzy9oakvQdv%hct)l)E>w$|s-i$gN3jYhHU{&N zDLK2xhVrn>v8*X9pPEZ@CvH;<^&3}Ews++BdF5RD&Z}~P zSrI#F5WHj@@j^Pz5?C4!X0BT+E=jWl6io4wxS>Z_s_`i<-YyZ#2{-1beli|=3DTC#E zh{pZm|IKPkpa0VSf35!?-TyE2zxMxY{lAg^-|&Xmd*Ahs^)|EvAKx@iCJTL16q z(fP^l-l-i=<2(Jox8#4ds2wbAd5 ztzHwYHHo(W+Wu?%ugh=I{x7;a?+}e!-~XHKRsVmprT_lRqm=aIta0Iy$$KL`_iC&h ze>KGURzn_O)rvvee{KJ@{ntg?|IOodF1q}d O%l`mjIcrD&pa1}NEK@50 literal 0 HcmV?d00001 diff --git a/Package/python/dist/bellande_probability-0.0.2.tar.gz b/Package/python/dist/bellande_probability-0.0.2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..f99d1a1edd145e8484857a496f3f28cc822d7545 GIT binary patch literal 3890 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 MyJsc@!vqBX1K@$jF8}}l literal 0 HcmV?d00001 diff --git a/Package/python/dist/bellande_probability-0.0.3.tar.gz b/Package/python/dist/bellande_probability-0.0.3.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..06aa1a9990a221fa567cf882e23162f4a9211db3 GIT binary patch literal 3896 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 R(k$dF*??CR#SjI>{{eO1*j4}l literal 0 HcmV?d00001 diff --git a/Package/python/publish.sh b/Package/python/publish.sh new file mode 100755 index 0000000..48934a9 --- /dev/null +++ b/Package/python/publish.sh @@ -0,0 +1,2 @@ +python setup.py sdist +twine upload dist/* diff --git a/Package/python/setup.py b/Package/python/setup.py new file mode 100644 index 0000000..478e9a0 --- /dev/null +++ b/Package/python/setup.py @@ -0,0 +1,43 @@ +from setuptools import setup, find_packages + +with open("../../README.md", "r", encoding="utf-8") as fh: + long_description = fh.read() + +setup( + name="bellande_probability", + version="0.0.3", + description="Robots Probability", + long_description=long_description, + long_description_content_type="text/markdown", + author="RonaldsonBellande", + author_email="ronaldsonbellande@gmail.com", + packages=find_packages(where="src"), + package_dir={"": "src"}, + include_package_data=True, + install_requires=[ + "numpy", + ], + classifiers=[ + "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", + "Programming Language :: Python", + ], + keywords=["package", "setuptools"], + python_requires=">=3.0", + extras_require={ + "dev": ["pytest", "pytest-cov[all]", "mypy", "black"], + }, + package_data={ + 'bellande_probability': ['Bellande_Probability'], + }, + entry_points={ + 'console_scripts': [ + 'bellande_probability_api = bellande_probability.bellande_probability_api:main', + ], + }, + project_urls={ + "Home": "https://github.com/Robotics-Sensors/bellande_probability", + "Homepage": "https://github.com/Robotics-Sensors/bellande_probability", + "documentation": "https://github.com/Robotics-Sensors/bellande_probability", + "repository": "https://github.com/Robotics-Sensors/bellande_probability", + }, +) diff --git a/Package/python/src/.gitignore b/Package/python/src/.gitignore new file mode 100644 index 0000000..ffe92f2 --- /dev/null +++ b/Package/python/src/.gitignore @@ -0,0 +1 @@ +bellande_probability.egg-info diff --git a/Package/python/src/__init__.py b/Package/python/src/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/Package/python/src/bellande_probabilistic/__init__.py b/Package/python/src/bellande_probabilistic/__init__.py new file mode 100644 index 0000000..14b2a3f --- /dev/null +++ b/Package/python/src/bellande_probabilistic/__init__.py @@ -0,0 +1,3 @@ +""" +ros_extension +""" diff --git a/Package/python/src/bellande_probabilistic/bellande_probabilistic_api.py b/Package/python/src/bellande_probabilistic/bellande_probabilistic_api.py new file mode 100644 index 0000000..71f272d --- /dev/null +++ b/Package/python/src/bellande_probabilistic/bellande_probabilistic_api.py @@ -0,0 +1,81 @@ +# Copyright (C) 2024 Bellande Robotics Sensors Research Innovation Center, Ronaldson Bellande +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +#!/usr/bin/env python3 +import requests +import argparse +import json +import sys + +def make_bellande_probability_distribution_request(mu_func, sigma_func, x, dimensions, full_auth=False): + base_url = "https://bellande-robotics-sensors-research-innovation-center.org/api/Bellande_Probability" + + endpoint = f"{base_url}/bellande_probability_full_auth" if full_auth else \ + f"{base_url}/bellande_probability" + + # Convert string input to list if it's a string + if isinstance(x, str): + x = json.loads(x) + + auth = { + "full_authorization_key": "bellande_web_api_full_auth" + } if full_auth else { + "authorization_key": "bellande_web_api_opensource" + } + + payload = { + "mu_func": mu_func, + "sigma_func": sigma_func, + "x": x, + "dimensions": dimensions, + "auth": auth + } + + headers = { + 'accept': 'application/json', + 'Content-Type': 'application/json' + } + + try: + response = requests.post(endpoint, json=payload, headers=headers) + response.raise_for_status() + return response.json() + except requests.RequestException as e: + print(f"Error making request: {e}", file=sys.stderr) + sys.exit(1) + +def main(): + parser = argparse.ArgumentParser(description="Run Bellande Distribution API") + parser.add_argument("--mu-func", required=True, help="mu function as string") + parser.add_argument("--sigma-func", required=True, help="sigma function as string") + parser.add_argument("--x", required=True, help="Input vector as JSON-formatted list") + parser.add_argument("--dimensions", type=int, required=True, help="Number of dimensions") + parser.add_argument("--full-auth", action="store_true", help="Use full authentication") + + args = parser.parse_args() + + try: + result = make_bellande_probability_distribution_request( + args.mu_func, + args.sigma_func, + args.x, + args.dimensions, + args.full_auth + ) + + print(json.dumps(result, indent=2)) + except json.JSONDecodeError as e: + print(f"Error: Invalid JSON format in input - {e}", file=sys.stderr) + sys.exit(1) + +if __name__ == "__main__": + main() diff --git a/Package/rust/.gitignore b/Package/rust/.gitignore new file mode 100644 index 0000000..a9d37c5 --- /dev/null +++ b/Package/rust/.gitignore @@ -0,0 +1,2 @@ +target +Cargo.lock diff --git a/Package/rust/Cargo.toml b/Package/rust/Cargo.toml new file mode 100644 index 0000000..c68f86e --- /dev/null +++ b/Package/rust/Cargo.toml @@ -0,0 +1,24 @@ +[package] +name = "bellande_probability" +version = "0.1.0" +edition = "2021" +authors = ["Bellande Robotics Sensors Research Innovation Center"] +description = "A tool for running Bellande Probability calculations via API" +license = "GPL-3.0-or-later" +repository = "https://github.com/Robotics-Sensors/bellande_probability" +readme = "README.md" +keywords = ["robotics", "algorithms", "research"] +categories = ["science", "algorithms"] + +[dependencies] +reqwest = { version = "0.11", features = ["json"] } +serde = { version = "1.0", features = ["derive"] } +serde_json = "1.0" +structopt = "0.3" +tokio = { version = "1.0", features = ["full"] } +thiserror = "1.0" +anyhow = "1.0" + +[lib] +name = "bellande_probability" +path = "src/bellande_probability.rs" diff --git a/Package/rust/publish.sh b/Package/rust/publish.sh new file mode 100755 index 0000000..7d4afa0 --- /dev/null +++ b/Package/rust/publish.sh @@ -0,0 +1,4 @@ +cp ../../README.md . +bash ../../git_scripts/push.sh +cargo publish +rm -f README.md diff --git a/Package/rust/src/bellande_probability.rs b/Package/rust/src/bellande_probability.rs new file mode 100644 index 0000000..7bbed5e --- /dev/null +++ b/Package/rust/src/bellande_probability.rs @@ -0,0 +1,110 @@ +// Copyright (C) 2024 Bellande Robotics Sensors Research Innovation Center, Ronaldson Bellande +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +use reqwest; +use serde_json::{json, Value}; +use std::error::Error; +use structopt::StructOpt; + +#[derive(StructOpt, Debug)] +#[structopt(name = "bellande_probability", about = "Bellande Probability Tool")] +struct Opt { + #[structopt(long, help = "First coordinate as JSON-formatted list")] + node0: String, + + #[structopt(long, help = "Second coordinate as JSON-formatted list")] + node1: String, + + #[structopt(long, help = "Probability threshold value")] + threshold: f64, + + #[structopt(long, help = "Number of dimensions")] + dimensions: i32, + + #[structopt(long, help = "Use full authentication")] + full_auth: bool, +} + +async fn make_bellande_probability_request( + node0: Value, + node1: Value, + threshold: f64, + dimensions: i32, + full_auth: bool, +) -> Result> { + let client = reqwest::Client::new(); + let base_url = "https://bellande-robotics-sensors-research-innovation-center.org/api/Bellande_Probability"; + + let endpoint = if full_auth { + format!("{}/bellande_probability_full_auth", base_url) + } else { + format!("{}/bellande_probability", base_url) + }; + + let auth = if full_auth { + json!({ + "full_authorization_key": "bellande_web_api_full_auth" + }) + } else { + json!({ + "authorization_key": "bellande_web_api_opensource" + }) + }; + + let payload = json!({ + "node0": node0, + "node1": node1, + "threshold": threshold, + "dimensions": dimensions, + "auth": auth + }); + + let response = client + .post(&endpoint) + .header("accept", "application/json") + .header("Content-Type", "application/json") + .json(&payload) + .send() + .await? + .json::() + .await?; + + Ok(response) +} + +#[tokio::main] +async fn main() -> Result<(), Box> { + let opt = Opt::from_args(); + + let node0: Value = serde_json::from_str(&opt.node0) + .map_err(|e| format!("Error parsing node0: {}", e))?; + let node1: Value = serde_json::from_str(&opt.node1) + .map_err(|e| format!("Error parsing node1: {}", e))?; + + match make_bellande_probability_request( + node0, + node1, + opt.threshold, + opt.dimensions, + opt.full_auth + ).await { + Ok(result) => { + println!("{}", serde_json::to_string_pretty(&result)?); + } + Err(e) => { + eprintln!("Error: {}", e); + std::process::exit(1); + } + } + + Ok(()) +} diff --git a/README.md b/README.md index da8c09b..2c63bde 100644 --- a/README.md +++ b/README.md @@ -10,32 +10,7 @@ # Author, Creator and Maintainer - **Ronaldson Bellande** -# API HTTP Usability (BELLANDE FORMAT) -``` -# Copyright (C) 2024 Bellande Robotics Sensors Research Innovation Center, Ronaldson Bellande -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# GNU General Public License v3.0 or later - -url: https://bellande-robotics-sensors-research-innovation-center.org - -endpoint_path: - bellande_probabilistic: /api/Bellande_Probabilistic/bellande_probabilistic - -Bellande_Framework_Access_Key: bellande_web_api_opensource -``` - -# API HTTP Usability (JSON FORMAT) +# API Usability ``` { "license": [ @@ -56,12 +31,11 @@ Bellande_Framework_Access_Key: bellande_web_api_opensource ], "url": "https://bellande-robotics-sensors-research-innovation-center.org", "endpoint_path": { - "bellande_probabilistic": "/api/Bellande_Probabilistic/bellande_probabilistic" + "bellande_probabilistic": "/api/Bellande_Probability/bellande_probability" }, "Bellande_Framework_Access_Key": "bellande_web_api_opensource" } ``` - # API Payload Example ``` { @@ -81,7 +55,7 @@ Bellande_Framework_Access_Key: bellande_web_api_opensource # Quick Bellande API Testing ``` curl -X 'POST' \ - 'https://bellande-robotics-sensors-research-innovation-center.org/api/Bellande_Distribution/bellande_distribution_function_nd' \ + 'https://bellande-robotics-sensors-research-innovation-center.org/api/Bellande_Probability/bellande_probability' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ @@ -95,6 +69,40 @@ curl -X 'POST' \ }' ``` +# Bellande Limit Usage + +## Website Crates +- https://crates.io/crates/bellande_probability + +### Installation +- `cargo add bellande_probability` + +## Website PYPI +- https://pypi.org/project/bellande_probability + +### Installation +- `$ pip install bellande_probability` + +### Usage +``` +bellande_distribution \ + --mu-func "i * 2" \ + --sigma-func "1 + i * 0.1" \ + --x "[1.0, 2.0, 3.0]" \ + --dimensions 3 +``` + +### Upgrade (if not upgraded) +- `$ pip install --upgrade bellande_probability` + +``` +Name: bellande_probability +Summary: Computes the next step towards a target node +Home-page: github.com/RonaldsonBellande/bellande_probability +Author: Ronaldson Bellande +Author-email: ronaldsonbellande@gmail.com +License: GNU General Public License v3.0 +``` ## Published Paper ``` @@ -102,7 +110,5 @@ Coming Soon ``` ## License -Bellande Probabilistic is distributed under the [Creative Commons Attribution-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-sa/4.0/), see [LICENSE](https://github.com/RonaldsonBellande/bellande_probabilistic/blob/main/LICENSE) and [NOTICE](https://github.com/RonaldsonBellande/bellande_probabilistic/blob/main/LICENSE) for more information. +This Algorithm or Models is distributed under the [Creative Commons Attribution-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-sa/4.0/), see [LICENSE](https://github.com/RonaldsonBellande/bellande_probabilistic/blob/main/LICENSE) and [NOTICE](https://github.com/RonaldsonBellande/bellande_probabilistic/blob/main/LICENSE) for more information. -## Code of Conduct -Bellande Probabilistic is distributed under the [CODE_OF_CONDUCT](https://github.com/Robotics-Sensors/bellande_step/blob/main/CODE_OF_CONDUCT.md) and [NOTICE](https://github.com/Robotics-Sensors/bellande_step/blob/main/CODE_OF_CONDUCT.md) for more information. diff --git a/git_scripts/.gitignore b/git_scripts/.gitignore new file mode 100644 index 0000000..e5a7a9c --- /dev/null +++ b/git_scripts/.gitignore @@ -0,0 +1,3 @@ +fix_errors.sh +push.sh +repository_recal.sh diff --git a/run_api.bellos b/run_api.bellos deleted file mode 100644 index a1345cc..0000000 --- a/run_api.bellos +++ /dev/null @@ -1,15 +0,0 @@ -curl -X 'POST' \ - 'https://bellande-robotics-sensors-research-innovation-center.org/api/Bellande_Distribution/bellande_distribution_function_nd' \ - -H 'accept: application/json' \ - -H 'Content-Type: application/json' \ - -d '{ - "mu_func": "i * 0.5", - "sigma_func": "1 + i * 0.1", - "x": [1.0, 2.0, 3.0], - "dimensions": 3, - "auth": { - "authorization_key": "bellande_web_api_opensource" - } - }' - -echo