Skip to content

Commit f8f78a5

Browse files
committed
release 2.5.7
0 parents  commit f8f78a5

File tree

321 files changed

+108240
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

321 files changed

+108240
-0
lines changed

CONTRIBUTING.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Contributing to this repository
2+
3+
We welcome your contributions! There are multiple ways to contribute.
4+
5+
## Opening issues
6+
7+
For bugs or enhancement requests, file a GitHub issue unless it's
8+
security related. When filing a bug, remember that the better written the bug is,
9+
the more likely it is to be fixed. If you think you've found a security
10+
vulnerability, don't raise a GitHub issue and follow the instructions in our
11+
[security policy](./SECURITY.md).
12+
13+
## Contributing code
14+
15+
We welcome your code contributions. Before submitting code using a pull request,
16+
you must sign the [Oracle Contributor Agreement](https://oca.opensource.oracle.com) (OCA) and
17+
your commits need to include the following line using the name and e-mail
18+
address you used to sign the OCA:
19+
20+
```text
21+
Signed-off-by: Your Name <you@example.org>
22+
```
23+
24+
This can be automatically added to pull requests by committing with `--sign-off`
25+
or `-s`, for example:
26+
27+
```text
28+
git commit --signoff
29+
```
30+
31+
Only pull requests from committers that can be verified as having signed the OCA
32+
are accepted.
33+
34+
## Pull request process
35+
36+
1. Ensure there is an issue created to track and discuss the fix or enhancement
37+
you intend to submit.
38+
2. Fork this repository.
39+
3. Create a branch in your fork to implement the changes. We recommend using
40+
the issue number as part of your branch name, for example `1234-fixes`.
41+
4. Ensure that any documentation is updated with the changes that are required
42+
by your change.
43+
5. Ensure that any samples are updated if the base image has been changed.
44+
6. Submit the pull request. *Don't leave the pull request blank*. Explain exactly
45+
what your changes are meant to do and provide simple steps about how to validate
46+
your changes. Ensure that you reference the issue you created as well.
47+
7. We assign the pull request to 2-3 people for review before it is merged.
48+
49+
## Code of conduct
50+
51+
Follow the [Golden Rule](https://en.wikipedia.org/wiki/Golden_Rule). If you'd
52+
like more specific guidelines, see the
53+
[Contributor Covenant Code of Conduct](https://www.contributor-covenant.org/version/1/4/code-of-conduct/).

LICENSE.txt

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
Copyright (c) 2020, 2022 Oracle and/or its affiliates.
2+
3+
The Universal Permissive License (UPL), Version 1.0
4+
5+
Subject to the condition set forth below, permission is hereby granted to any
6+
person obtaining a copy of this software, associated documentation and/or data
7+
(collectively the "Software"), free of charge and under any and all copyright
8+
rights in the Software, and any and all patent rights owned or freely
9+
licensable by each licensor hereunder covering either (i) the unmodified
10+
Software as contributed to or provided by such licensor, or (ii) the Larger
11+
Works (as defined below), to deal in both
12+
13+
(a) the Software, and
14+
(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if
15+
one is included with the Software (each a "Larger Work" to which the Software
16+
is contributed by such licensors),
17+
18+
without restriction, including without limitation the rights to copy, create
19+
derivative works of, display, perform, and distribute the Software and make,
20+
use, sell, offer for sale, import, export, have made, and have sold the
21+
Software and the Larger Work(s), and to sublicense the foregoing rights on
22+
either these or other terms.
23+
24+
This license is subject to the following condition:
25+
The above copyright notice and either this complete permission notice or at
26+
a minimum a reference to the UPL must be included in all copies or
27+
substantial portions of the Software.
28+
29+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
30+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
31+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
32+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
33+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
34+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
35+
SOFTWARE.

MANIFEST.in

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
include LICENSE.txt
2+
include THIRD_PARTY_LICENSES.txt
3+
include ads/ads_version.json
4+
include ads/common/*.json
5+
include ads/feature_engineering/*.json
6+
include ads/templates/*.jinja2
7+
include ads/common/function/*.yaml
8+
include ads/common/artifact/*.*
9+
include ads/jobs/schema/**
10+
include ads/opctl/index.yaml
11+
include ads/opctl/operators/**/*.py
12+
include ads/opctl/docker/**
13+
include ads/opctl/conda/manifest_template.yaml
14+
global-exclude tests/**
15+
global-exclude notebooks/**
16+
exclude tests/**
17+
exclude notebooks/**
18+
exclude build/lib/tests/**
19+
exclude build/lib/notebooks/**
20+
exclude benchmark/**
21+
include ads/ads

Makefile

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
2+
dist: clean
3+
@python3 setup.py sdist bdist_wheel
4+
5+
publish: dist
6+
@twine upload dist/*
7+
8+
clean:
9+
@rm -rf dist build oracle_ads.egg-info
10+
@find ./ -name '*.pyc' -exec rm -f {} \;
11+
@find ./ -name 'Thumbs.db' -exec rm -f {} \;
12+
@find ./ -name '*~' -exec rm -f {} \;

README-development.md

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# Summary
2+
3+
The Oracle Accelerated Data Science (ADS) SDK used by data scientists and analysts for
4+
data exploration and experimental machine learning to democratize machine learning and
5+
analytics by providing easy-to-use, performant, and user friendly tools that
6+
brings together the best of data science practices.
7+
8+
The ADS SDK helps you connect to different data sources, perform exploratory data analysis,
9+
data visualization, feature engineering, model training, model evaluation, and
10+
model interpretation. ADS also allows you to connect to the model catalog to save and load
11+
models to and from the catalog.
12+
13+
## Documentation
14+
15+
- [ads-documentation](https://docs.oracle.com/en-us/iaas/tools/ads-sdk/latest/index.html)
16+
- [oci-data-science-ai-samples](https://github.com/oracle/oci-data-science-ai-samples)
17+
18+
## Get Support
19+
20+
- Open a [GitHub issue](https://github.com/oracle/accelerated-data-science/issues) for bug reports, questions, or requests for enhancements.
21+
- Report a security vulnerability according to the [Reporting Vulnerabilities guide](https://www.oracle.com/corporate/security-practices/assurance/vulnerability/reporting.html).
22+
23+
## Getting started
24+
25+
These are the minimum required steps to install and set up the ADS SDK to run on your local machine
26+
for development and testing purposes.
27+
28+
### Step 1: Create a conda environment
29+
30+
Install Anaconda from `https://repo.continuum.io/miniconda/` for the operating system you are using.
31+
32+
In the terminal client, enter the following where <yourenvname> is the name you want to call your environment,
33+
and set the Python version you want to use. ADS SDK requires Python >=3.7.
34+
35+
```bash
36+
conda create -n <yourenvname> python=3.7 anaconda
37+
```
38+
39+
This installs the Python version and all the associated anaconda packaged libraries at `path_to_your_anaconda_location/anaconda/envs/<yourenvname>`
40+
41+
### Step 2: Activate your environment
42+
43+
To activate or switch into your conda environment, run this command:
44+
45+
```bash
46+
conda activate <yourenvname>
47+
```
48+
49+
To list of all your environments, use the `conda env list` command.
50+
51+
### Step 3: Clone ADS and install dependencies
52+
53+
Open the destination folder where you want to clone ADS library, and install dependencies like this:
54+
55+
```bash
56+
cd <desctination_folder>
57+
git clone git@github.com:oracle/accelerated-data-science.git
58+
python3 -m pip install -e .
59+
```
60+
61+
To which packages were installed and their version numbers, run:
62+
63+
```bash
64+
python3 -m pip freeze
65+
```
66+
67+
### Step 4: Setup configuration files
68+
69+
You should also set up configuration files, see the [SDK and CLI Configuration File](https://docs.cloud.oracle.com/Content/API/Concepts/sdkconfig.htm).
70+
71+
72+
### Step 5: Versioning and generation the wheel
73+
74+
Use `ads_version.json` for versioning. The ADS SDK is packaged as a wheel. To generate the wheel, you can run:
75+
76+
```bash
77+
python3 setup.py sdist bdist_wheel
78+
```
79+
80+
This wheel can then be installed using `pip`.
81+
82+
## Security
83+
84+
Consult the [security guide](./SECURITY.md) for our responsible security
85+
vulnerability disclosure process.
86+
87+
## License
88+
89+
Copyright (c) 2020, 2022 Oracle, Inc. All rights reserved.
90+
Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.

README.md

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
# Oracle Accelerated Data Science SDK (ADS)
2+
3+
The [Oracle Accelerated Data Science (ADS) SDK](https://docs.oracle.com/en-us/iaas/tools/ads-sdk/latest/index.html) is maintained by the [Oracle Cloud Infrastructure Data Science service](https://docs.oracle.com/en-us/iaas/data-science/using/data-science.htm) team. It speeds up common data science activities by providing tools that automate and/or simplify common data science tasks, along with providing a data scientist friendly pythonic interface to Oracle Cloud Infrastructure (OCI) services, most notably OCI Data Science, Data Flow, Object storage, and the Autonomous Database. ADS gives you an interface to manage the lifecycle of machine learning models, from data acquisition to model evaluation, interpretation, and model deployment.
4+
5+
With ADS you can:
6+
7+
- Read datasets from Oracle Object Storage, Oracle RDBMS (ATP/ADW/On-prem), AWS S3 and other sources into `Pandas dataframes`.
8+
- Easily compute summary statistics on your dataframes and perform data profiling.
9+
- Tune models using hyperparameter optimization with the `ADSTuner` tool.
10+
- Generate detailed evaluation reports of your model candidates with the `ADSEvaluator` module.
11+
- Save machine learning models to the [OCI Data Science Model Catalog](https://docs.oracle.com/en-us/iaas/data-science/using/models-about.htm).
12+
- Deploy those models as HTTP endpoints with [Model Deployment](https://docs.oracle.com/en-us/iaas/data-science/using/model-dep-about.htm).
13+
- Launch distributed ETL, data processing, and model training jobs in Spark with [OCI Data Flow](https://docs.oracle.com/en-us/iaas/data-flow/using/home.htm).
14+
- Train machine learning models in OCI Data Science [Jobs](https://docs.oracle.com/en-us/iaas/data-science/using/jobs-about.htm).
15+
- Manage the lifecycle of conda environments through the `ads conda` command line interface (CLI).
16+
17+
## Installation
18+
19+
You have various options when installing ADS.
20+
21+
### Installing the oracle-ads base package
22+
23+
```bash
24+
$ python3 -m pip install oracle-ads
25+
```
26+
27+
### Installing extras libraries
28+
29+
To use ADS within a [Notebook Session](https://docs.oracle.com/en-us/iaas/data-science/using/manage-notebook-sessions.htm) of the OCI Data Science service:
30+
31+
```bash
32+
$ python3 -m pip install oracle-ads[notebook]
33+
```
34+
35+
For machine learning tasks install
36+
37+
```bash
38+
$ python3 -m pip install oracle-ads[boosted]
39+
```
40+
41+
To work on text related tasks run
42+
43+
```bash
44+
$ python3 -m pip install oracle-ads[text]
45+
```
46+
47+
For access to a broad set of data formats (for example, Excel, Avro, etc.) run
48+
49+
```bash
50+
$ python3 -m pip install oracle-ads[data]
51+
```
52+
53+
**Note**
54+
55+
Multiple extra dependencies can be installed together. For example:
56+
57+
```bash
58+
$ python3 -m pip install oracle-ads[notebook,boosted,text]
59+
```
60+
61+
## Documentation
62+
63+
- [Oracle Accelerated Data Science SDK (ADS) Documentation](https://docs.oracle.com/en-us/iaas/tools/ads-sdk/latest/index.html)
64+
- [Oracle Cloud Infrastructure Data Science and AI services Examples](https://github.com/oracle/oci-data-science-ai-samples)
65+
- [Oracle AI & Data Science Blog](https://blogs.oracle.com/ai-and-datascience/)
66+
- [Oracle Cloud Infrastructure Documentation](https://docs.oracle.com/en-us/iaas/data-science/using/data-science.htm)
67+
68+
## Examples
69+
70+
### Load data from Object Storage
71+
72+
```python
73+
import ads
74+
from ads.common.auth import default_signer
75+
76+
ads.set_auth(auth="api_key", profile="DEFAULT")
77+
bucket_name = <bucket-name>
78+
file_name = <file-name>
79+
namespace = <namespace>
80+
df = pd.read_csv(f"oci://{bucket_name}@{namespace}/{file_name}", storage_options=default_signer())
81+
```
82+
83+
### Load data from ADB (simple)
84+
85+
```python
86+
connection_parameters = {
87+
"user_name": "<username>",
88+
"password": "<password>",
89+
"service_name": "<service_name_{high|med|low}>",
90+
"wallet_location": "/full/path/to/my_wallet.zip",
91+
}
92+
import pandas as pd
93+
import ads
94+
95+
# simple read of a SQL query into a dataframe with no bind variables
96+
df = pd.DataFrame.ads.read_sql(
97+
"SELECT * FROM SH.SALES",
98+
connection_parameters=connection_parameters,
99+
)
100+
```
101+
102+
### Load data from ADB (using sql-injection-safe bind variables)
103+
104+
```python
105+
df = pd.DataFrame.ads.read_sql(
106+
"""
107+
SELECT
108+
*
109+
FROM
110+
SH.SALES
111+
WHERE
112+
ROWNUM <= :max_rows
113+
""",
114+
bind_variables={
115+
max_rows : 100
116+
},
117+
connection_parameters=connection_parameters,
118+
)
119+
```
120+
121+
## Contributing
122+
123+
This project welcomes contributions from the community. Before submitting a pull request, please review our contribution guide.
124+
125+
Find Getting Started instructions for developers in [README-development.md](./README-development.md)
126+
127+
## Security
128+
129+
Please consult the security guide for our responsible security vulnerability disclosure process.
130+
131+
## License
132+
133+
Copyright (c) 2020, 2022 Oracle and/or its affiliates. Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/

SECURITY.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Reporting security vulnerabilities
2+
3+
Oracle values the independent security research community and believes that
4+
responsible disclosure of security vulnerabilities helps us ensure the security
5+
and privacy of all our users.
6+
7+
Please do NOT raise a GitHub Issue to report a security vulnerability. If you
8+
believe you have found a security vulnerability, please submit a report to
9+
[secalert_us@oracle.com](mailto:secalert_us@oracle.com) preferably with a proof of concept.
10+
Please review some additional information on
11+
[how to report security vulnerabilities to Oracle](https://www.oracle.com/corporate/security-practices/assurance/vulnerability/reporting.html).
12+
We encourage people who contact Oracle Security to use email encryption using
13+
[our encryption key](https://www.oracle.com/security-alerts/encryptionkey.html).
14+
15+
We ask that you do not use other channels or contact the project maintainers
16+
directly.
17+
18+
Non-vulnerability related security issues including ideas for new or improved
19+
security features are welcome on GitHub Issues.
20+
21+
## Security updates, alerts and bulletins
22+
23+
Security updates will be released on a regular cadence. Many of our projects
24+
will typically release security fixes in conjunction with the
25+
[Oracle Critical Patch Update](https://www.oracle.com/security-alerts/encryptionkey.html) program.
26+
Security updates are released on the Tuesday closest to the 17th day of January, April, July and October.
27+
A pre-release announcement will be published on the Thursday preceding each release. Additional
28+
information, including past advisories, is available on our
29+
[security alerts](https://www.oracle.com/security-alerts/) page.
30+
31+
## Security-related information
32+
33+
We will provide security related information such as a threat model, considerations
34+
for secure use, or any known security issues in our documentation. Please note
35+
that labs and sample code are intended to demonstrate a concept and may not be
36+
sufficiently hardened for production use.

0 commit comments

Comments
 (0)