diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-ocifs.spec | 299 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 301 insertions, 0 deletions
@@ -0,0 +1 @@ +/ocifs-1.2.1.tar.gz diff --git a/python-ocifs.spec b/python-ocifs.spec new file mode 100644 index 0000000..7ea0ba1 --- /dev/null +++ b/python-ocifs.spec @@ -0,0 +1,299 @@ +%global _empty_manifest_terminate_build 0 +Name: python-ocifs +Version: 1.2.1 +Release: 1 +Summary: Convenient filesystem interface over Oracle Cloud's Object Storage +License: UPL +URL: https://github.com/oracle/ocifs +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/45/b2/74ef86923e4877bda9b4df53505b1b3e8dc5836a92dbfbcb8c440f80582a/ocifs-1.2.1.tar.gz +BuildArch: noarch + +Requires: python3-fsspec +Requires: python3-oci + +%description + +## Oracle Cloud Infrastructure Object Storage fsspec implementation + + +The [Oracle Cloud Infrastructure Object Storage](https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/objectstorageoverview.htm) service is an internet-scale, high-performance storage platform that offers reliable and cost-efficient data durability. With Object Storage, you can safely and securely store or retrieve data directly from the internet or from within the cloud platform. + +`ocifs` is part of the `fsspec` [intake/filesystem_spec ecosystem](https://github.com/intake/filesystem_spec) + +> a template or specification for a file-system interface, that specific implementations should follow, so that applications making use of them can rely on a common interface and not have to worry about the specific internal implementation decisions with any given backend. + +`ocifs` joins the list of file systems supported with this package. + +The `intake/filesystem_spec` project is used by [Pandas](https://pandas.pydata.org/), [Dask](https://dask.org/) and other data libraries in python, this package adds Oracle OCI Object Storage capabilties to these libraries. + +## Example Usage: +```python +from ocifs import OCIFileSystem + +fs = OCIFilesystem("~/.oci/config") +fs.ls("oci://<my_bucket>@<my_namespace>/<my_prefix>") +# [<my_bucket>@<my_namespace>/<my_prefix>/obj1, <my_bucket>@<my_namespace>/<my_prefix>/obj2] + +fs.cat("oci://<my_bucket>@<my_namespace>/<my_prefix>/obj1") +# b"Hello World" + +with fs.open("oci://<my_bucket>@<my_namespace>/<my_prefix>/obj3", 'w') as f: + f.write("Adding a third object.") + +fs.copy("oci://<my_bucket>@<my_namespace>/<my_prefix>/obj3", "oci://<my_bucket>@<my_namespace>/<my_prefix>/obj1") + +with fs.open("oci://<my_bucket>@<my_namespace>/<my_prefix>/obj1") as f: + print(f.read()) +# b"Adding a third object." +``` + +### Or Use With Pandas: + +```python +import pandas as pd +import ocifs + +df = pd.read_csv( + "oci://my_bucket@my_namespace/my_object.csv", + storage_options={"config": "~/.oci/config"}, +) +``` + +## Getting Started: +```bash +python3 -m pip install ocifs +``` + +## Software Prerequisites: +Python >= 3.6 + +## Environment Variables for Authentication: +```bash +export OCIFS_IAM_TYPE=api_key +export OCIFS_CONFIG_LOCATION=~/.oci/config +export OCIFS_CONFIG_PROFILE=DEFAULT +``` + +Note, if you are operating on OCI with an alternative valid signer, such as resource principal, instead set the following: +```bash +export OCIFS_IAM_TYPE=resource_principal +``` + +## Documentation: +* [](https://pypi.org/project/ocifs/) +* [ocifs Documentation](https://ocifs.readthedocs.io/en/latest/index.html) +* [ocifs GitHub](https://github.com/oracle/ocifs) + +## Support + +[The built-in filesystems in `fsspec`](https://filesystem-spec.readthedocs.io/en/latest/api.html#built-in-implementations) are maintained by the `intake` project team, where as `ocifs` is an external implementation (similar to `s3fs`, `gcsfs`, `adl/abfs`, and so on), which is maintained by Oracle. + + +%package -n python3-ocifs +Summary: Convenient filesystem interface over Oracle Cloud's Object Storage +Provides: python-ocifs +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-ocifs + +## Oracle Cloud Infrastructure Object Storage fsspec implementation + + +The [Oracle Cloud Infrastructure Object Storage](https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/objectstorageoverview.htm) service is an internet-scale, high-performance storage platform that offers reliable and cost-efficient data durability. With Object Storage, you can safely and securely store or retrieve data directly from the internet or from within the cloud platform. + +`ocifs` is part of the `fsspec` [intake/filesystem_spec ecosystem](https://github.com/intake/filesystem_spec) + +> a template or specification for a file-system interface, that specific implementations should follow, so that applications making use of them can rely on a common interface and not have to worry about the specific internal implementation decisions with any given backend. + +`ocifs` joins the list of file systems supported with this package. + +The `intake/filesystem_spec` project is used by [Pandas](https://pandas.pydata.org/), [Dask](https://dask.org/) and other data libraries in python, this package adds Oracle OCI Object Storage capabilties to these libraries. + +## Example Usage: +```python +from ocifs import OCIFileSystem + +fs = OCIFilesystem("~/.oci/config") +fs.ls("oci://<my_bucket>@<my_namespace>/<my_prefix>") +# [<my_bucket>@<my_namespace>/<my_prefix>/obj1, <my_bucket>@<my_namespace>/<my_prefix>/obj2] + +fs.cat("oci://<my_bucket>@<my_namespace>/<my_prefix>/obj1") +# b"Hello World" + +with fs.open("oci://<my_bucket>@<my_namespace>/<my_prefix>/obj3", 'w') as f: + f.write("Adding a third object.") + +fs.copy("oci://<my_bucket>@<my_namespace>/<my_prefix>/obj3", "oci://<my_bucket>@<my_namespace>/<my_prefix>/obj1") + +with fs.open("oci://<my_bucket>@<my_namespace>/<my_prefix>/obj1") as f: + print(f.read()) +# b"Adding a third object." +``` + +### Or Use With Pandas: + +```python +import pandas as pd +import ocifs + +df = pd.read_csv( + "oci://my_bucket@my_namespace/my_object.csv", + storage_options={"config": "~/.oci/config"}, +) +``` + +## Getting Started: +```bash +python3 -m pip install ocifs +``` + +## Software Prerequisites: +Python >= 3.6 + +## Environment Variables for Authentication: +```bash +export OCIFS_IAM_TYPE=api_key +export OCIFS_CONFIG_LOCATION=~/.oci/config +export OCIFS_CONFIG_PROFILE=DEFAULT +``` + +Note, if you are operating on OCI with an alternative valid signer, such as resource principal, instead set the following: +```bash +export OCIFS_IAM_TYPE=resource_principal +``` + +## Documentation: +* [](https://pypi.org/project/ocifs/) +* [ocifs Documentation](https://ocifs.readthedocs.io/en/latest/index.html) +* [ocifs GitHub](https://github.com/oracle/ocifs) + +## Support + +[The built-in filesystems in `fsspec`](https://filesystem-spec.readthedocs.io/en/latest/api.html#built-in-implementations) are maintained by the `intake` project team, where as `ocifs` is an external implementation (similar to `s3fs`, `gcsfs`, `adl/abfs`, and so on), which is maintained by Oracle. + + +%package help +Summary: Development documents and examples for ocifs +Provides: python3-ocifs-doc +%description help + +## Oracle Cloud Infrastructure Object Storage fsspec implementation + + +The [Oracle Cloud Infrastructure Object Storage](https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/objectstorageoverview.htm) service is an internet-scale, high-performance storage platform that offers reliable and cost-efficient data durability. With Object Storage, you can safely and securely store or retrieve data directly from the internet or from within the cloud platform. + +`ocifs` is part of the `fsspec` [intake/filesystem_spec ecosystem](https://github.com/intake/filesystem_spec) + +> a template or specification for a file-system interface, that specific implementations should follow, so that applications making use of them can rely on a common interface and not have to worry about the specific internal implementation decisions with any given backend. + +`ocifs` joins the list of file systems supported with this package. + +The `intake/filesystem_spec` project is used by [Pandas](https://pandas.pydata.org/), [Dask](https://dask.org/) and other data libraries in python, this package adds Oracle OCI Object Storage capabilties to these libraries. + +## Example Usage: +```python +from ocifs import OCIFileSystem + +fs = OCIFilesystem("~/.oci/config") +fs.ls("oci://<my_bucket>@<my_namespace>/<my_prefix>") +# [<my_bucket>@<my_namespace>/<my_prefix>/obj1, <my_bucket>@<my_namespace>/<my_prefix>/obj2] + +fs.cat("oci://<my_bucket>@<my_namespace>/<my_prefix>/obj1") +# b"Hello World" + +with fs.open("oci://<my_bucket>@<my_namespace>/<my_prefix>/obj3", 'w') as f: + f.write("Adding a third object.") + +fs.copy("oci://<my_bucket>@<my_namespace>/<my_prefix>/obj3", "oci://<my_bucket>@<my_namespace>/<my_prefix>/obj1") + +with fs.open("oci://<my_bucket>@<my_namespace>/<my_prefix>/obj1") as f: + print(f.read()) +# b"Adding a third object." +``` + +### Or Use With Pandas: + +```python +import pandas as pd +import ocifs + +df = pd.read_csv( + "oci://my_bucket@my_namespace/my_object.csv", + storage_options={"config": "~/.oci/config"}, +) +``` + +## Getting Started: +```bash +python3 -m pip install ocifs +``` + +## Software Prerequisites: +Python >= 3.6 + +## Environment Variables for Authentication: +```bash +export OCIFS_IAM_TYPE=api_key +export OCIFS_CONFIG_LOCATION=~/.oci/config +export OCIFS_CONFIG_PROFILE=DEFAULT +``` + +Note, if you are operating on OCI with an alternative valid signer, such as resource principal, instead set the following: +```bash +export OCIFS_IAM_TYPE=resource_principal +``` + +## Documentation: +* [](https://pypi.org/project/ocifs/) +* [ocifs Documentation](https://ocifs.readthedocs.io/en/latest/index.html) +* [ocifs GitHub](https://github.com/oracle/ocifs) + +## Support + +[The built-in filesystems in `fsspec`](https://filesystem-spec.readthedocs.io/en/latest/api.html#built-in-implementations) are maintained by the `intake` project team, where as `ocifs` is an external implementation (similar to `s3fs`, `gcsfs`, `adl/abfs`, and so on), which is maintained by Oracle. + + +%prep +%autosetup -n ocifs-1.2.1 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-ocifs -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 1.2.1-1 +- Package Spec generated @@ -0,0 +1 @@ +14ad8c07c77d503f1358ec8fcd749a59 ocifs-1.2.1.tar.gz |