# pulp_python_client

PulpPythonClient - the Ruby gem for the Pulp 3 API

Fetch, Upload, Organize, and Distribute Software Packages

This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: v3
- Package version: 3.0.0b12
- Build package: org.openapitools.codegen.languages.RubyClientCodegen
For more information, please visit [https://pulpproject.org](https://pulpproject.org)

## Installation

### Build a gem

To build the Ruby code into a gem:

```shell
gem build pulp_python_client.gemspec
```

Then either install the gem locally:

```shell
gem install ./pulp_python_client-3.0.0b12.gem
```

(for development, run `gem install --dev ./pulp_python_client-3.0.0b12.gem` to install the development dependencies)

or publish the gem to a gem hosting service, e.g. [RubyGems](https://rubygems.org/).

Finally add this to the Gemfile:

    gem 'pulp_python_client', '~> 3.0.0b12'

### Install from Git

If the Ruby gem is hosted at a git repository: https://github.com/GIT_USER_ID/GIT_REPO_ID, then add the following in the Gemfile:

    gem 'pulp_python_client', :git => 'https://github.com/GIT_USER_ID/GIT_REPO_ID.git'

### Include the Ruby code directly

Include the Ruby code directly using `-I` as follows:

```shell
ruby -Ilib script.rb
```

## Getting Started

Please follow the [installation](#installation) procedure and then run the following code:

```ruby
# Load the gem
require 'pulp_python_client'

# Setup authorization
PulpPythonClient.configure do |config|
  # Configure HTTP basic authorization: basicAuth
  config.username = 'YOUR_USERNAME'
  config.password = 'YOUR_PASSWORD'
end

api_instance = PulpPythonClient::ContentPackagesApi.new
relative_path = 'relative_path_example' # String | Path where the artifact is located relative to distributions base_path
opts = {
  artifact: 'artifact_example', # String | Artifact file representing the physical content
  file: File.new('/path/to/file'), # File | An uploaded file that may be turned into the artifact of the content unit.
  repository: 'repository_example', # String | A URI of a repository the new content unit should be associated with.
  summary: 'summary_example', # String | A one-line summary of what the package does.
  description: 'description_example', # String | A longer description of the package that can run to several paragraphs.
  keywords: 'keywords_example', # String | Additional keywords to be used to assist searching for the package in a larger catalog.
  home_page: 'home_page_example', # String | The URL for the package's home page.
  download_url: 'download_url_example', # String | Legacy field denoting the URL from which this package can be downloaded.
  author: 'author_example', # String | Text containing the author's name. Contact information can also be added, separated with newlines.
  author_email: 'author_email_example', # String | The author's e-mail address. 
  maintainer: 'maintainer_example', # String | The maintainer's name at a minimum; additional contact information may be provided.
  maintainer_email: 'maintainer_email_example', # String | The maintainer's e-mail address.
  license: 'license_example', # String | Text indicating the license covering the distribution
  requires_python: 'requires_python_example', # String | The Python version(s) that the distribution is guaranteed to be compatible with.
  project_url: 'project_url_example', # String | A browsable URL for the project and a label for it, separated by a comma.
  platform: 'platform_example', # String | A comma-separated list of platform specifications, summarizing the operating systems supported by the package.
  supported_platform: 'supported_platform_example', # String | Field to specify the OS and CPU for which the binary package was compiled. 
  requires_dist: nil, # Object | A JSON list containing names of some other distutils project required by this distribution.
  provides_dist: nil, # Object | A JSON list containing names of a Distutils project which is contained within this distribution.
  obsoletes_dist: nil, # Object | A JSON list containing names of a distutils project's distribution which this distribution renders obsolete, meaning that the two projects should not be installed at the same time.
  requires_external: nil, # Object | A JSON list containing some dependency in the system that the distribution is to be used.
  classifiers: nil # Object | A JSON list containing classification values for a Python package.
}

begin
  #Create a python package content
  result = api_instance.create(relative_path, opts)
  p result
rescue PulpPythonClient::ApiError => e
  puts "Exception when calling ContentPackagesApi->create: #{e}"
end

```

## Documentation for API Endpoints

All URIs are relative to *http://pulp*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*PulpPythonClient::ContentPackagesApi* | [**create**](docs/ContentPackagesApi.md#create) | **POST** /pulp/api/v3/content/python/packages/ | Create a python package content
*PulpPythonClient::ContentPackagesApi* | [**list**](docs/ContentPackagesApi.md#list) | **GET** /pulp/api/v3/content/python/packages/ | List python package contents
*PulpPythonClient::ContentPackagesApi* | [**read**](docs/ContentPackagesApi.md#read) | **GET** {python_python_package_content_href} | Inspect a python package content
*PulpPythonClient::DistributionsPypiApi* | [**create**](docs/DistributionsPypiApi.md#create) | **POST** /pulp/api/v3/distributions/python/pypi/ | Create a python distribution
*PulpPythonClient::DistributionsPypiApi* | [**delete**](docs/DistributionsPypiApi.md#delete) | **DELETE** {python_python_distribution_href} | Delete a python distribution
*PulpPythonClient::DistributionsPypiApi* | [**list**](docs/DistributionsPypiApi.md#list) | **GET** /pulp/api/v3/distributions/python/pypi/ | List python distributions
*PulpPythonClient::DistributionsPypiApi* | [**partial_update**](docs/DistributionsPypiApi.md#partial_update) | **PATCH** {python_python_distribution_href} | Update a python distribution
*PulpPythonClient::DistributionsPypiApi* | [**read**](docs/DistributionsPypiApi.md#read) | **GET** {python_python_distribution_href} | Inspect a python distribution
*PulpPythonClient::DistributionsPypiApi* | [**update**](docs/DistributionsPypiApi.md#update) | **PUT** {python_python_distribution_href} | Update a python distribution
*PulpPythonClient::PublicationsPypiApi* | [**create**](docs/PublicationsPypiApi.md#create) | **POST** /pulp/api/v3/publications/python/pypi/ | Create a python publication
*PulpPythonClient::PublicationsPypiApi* | [**delete**](docs/PublicationsPypiApi.md#delete) | **DELETE** {python_python_publication_href} | Delete a python publication
*PulpPythonClient::PublicationsPypiApi* | [**list**](docs/PublicationsPypiApi.md#list) | **GET** /pulp/api/v3/publications/python/pypi/ | List python publications
*PulpPythonClient::PublicationsPypiApi* | [**read**](docs/PublicationsPypiApi.md#read) | **GET** {python_python_publication_href} | Inspect a python publication
*PulpPythonClient::RemotesPythonApi* | [**create**](docs/RemotesPythonApi.md#create) | **POST** /pulp/api/v3/remotes/python/python/ | Create a python remote
*PulpPythonClient::RemotesPythonApi* | [**delete**](docs/RemotesPythonApi.md#delete) | **DELETE** {python_python_remote_href} | Delete a python remote
*PulpPythonClient::RemotesPythonApi* | [**from_bandersnatch**](docs/RemotesPythonApi.md#from_bandersnatch) | **POST** /pulp/api/v3/remotes/python/python/from_bandersnatch/ | Create from Bandersnatch
*PulpPythonClient::RemotesPythonApi* | [**list**](docs/RemotesPythonApi.md#list) | **GET** /pulp/api/v3/remotes/python/python/ | List python remotes
*PulpPythonClient::RemotesPythonApi* | [**partial_update**](docs/RemotesPythonApi.md#partial_update) | **PATCH** {python_python_remote_href} | Update a python remote
*PulpPythonClient::RemotesPythonApi* | [**read**](docs/RemotesPythonApi.md#read) | **GET** {python_python_remote_href} | Inspect a python remote
*PulpPythonClient::RemotesPythonApi* | [**update**](docs/RemotesPythonApi.md#update) | **PUT** {python_python_remote_href} | Update a python remote
*PulpPythonClient::RepositoriesPythonApi* | [**create**](docs/RepositoriesPythonApi.md#create) | **POST** /pulp/api/v3/repositories/python/python/ | Create a python repository
*PulpPythonClient::RepositoriesPythonApi* | [**delete**](docs/RepositoriesPythonApi.md#delete) | **DELETE** {python_python_repository_href} | Delete a python repository
*PulpPythonClient::RepositoriesPythonApi* | [**list**](docs/RepositoriesPythonApi.md#list) | **GET** /pulp/api/v3/repositories/python/python/ | List python repositorys
*PulpPythonClient::RepositoriesPythonApi* | [**modify**](docs/RepositoriesPythonApi.md#modify) | **POST** {python_python_repository_href}modify/ | Modify Repository Content
*PulpPythonClient::RepositoriesPythonApi* | [**partial_update**](docs/RepositoriesPythonApi.md#partial_update) | **PATCH** {python_python_repository_href} | Update a python repository
*PulpPythonClient::RepositoriesPythonApi* | [**read**](docs/RepositoriesPythonApi.md#read) | **GET** {python_python_repository_href} | Inspect a python repository
*PulpPythonClient::RepositoriesPythonApi* | [**sync**](docs/RepositoriesPythonApi.md#sync) | **POST** {python_python_repository_href}sync/ | Sync from remote
*PulpPythonClient::RepositoriesPythonApi* | [**update**](docs/RepositoriesPythonApi.md#update) | **PUT** {python_python_repository_href} | Update a python repository
*PulpPythonClient::RepositoriesPythonVersionsApi* | [**delete**](docs/RepositoriesPythonVersionsApi.md#delete) | **DELETE** {python_python_repository_version_href} | Delete a repository version
*PulpPythonClient::RepositoriesPythonVersionsApi* | [**list**](docs/RepositoriesPythonVersionsApi.md#list) | **GET** {python_python_repository_href}versions/ | List repository versions
*PulpPythonClient::RepositoriesPythonVersionsApi* | [**read**](docs/RepositoriesPythonVersionsApi.md#read) | **GET** {python_python_repository_version_href} | Inspect a repository version
*PulpPythonClient::RepositoriesPythonVersionsApi* | [**repair**](docs/RepositoriesPythonVersionsApi.md#repair) | **POST** {python_python_repository_version_href}repair/ | 


## Documentation for Models

 - [PulpPythonClient::AsyncOperationResponse](docs/AsyncOperationResponse.md)
 - [PulpPythonClient::ContentSummary](docs/ContentSummary.md)
 - [PulpPythonClient::ContentSummaryResponse](docs/ContentSummaryResponse.md)
 - [PulpPythonClient::PaginatedRepositoryVersionResponseList](docs/PaginatedRepositoryVersionResponseList.md)
 - [PulpPythonClient::PaginatedpythonPythonDistributionResponseList](docs/PaginatedpythonPythonDistributionResponseList.md)
 - [PulpPythonClient::PaginatedpythonPythonPackageContentResponseList](docs/PaginatedpythonPythonPackageContentResponseList.md)
 - [PulpPythonClient::PaginatedpythonPythonPublicationResponseList](docs/PaginatedpythonPythonPublicationResponseList.md)
 - [PulpPythonClient::PaginatedpythonPythonRemoteResponseList](docs/PaginatedpythonPythonRemoteResponseList.md)
 - [PulpPythonClient::PaginatedpythonPythonRepositoryResponseList](docs/PaginatedpythonPythonRepositoryResponseList.md)
 - [PulpPythonClient::PatchedpythonPythonDistribution](docs/PatchedpythonPythonDistribution.md)
 - [PulpPythonClient::PatchedpythonPythonRemote](docs/PatchedpythonPythonRemote.md)
 - [PulpPythonClient::PatchedpythonPythonRepository](docs/PatchedpythonPythonRepository.md)
 - [PulpPythonClient::PolicyEnum](docs/PolicyEnum.md)
 - [PulpPythonClient::PythonBanderRemote](docs/PythonBanderRemote.md)
 - [PulpPythonClient::PythonPythonDistribution](docs/PythonPythonDistribution.md)
 - [PulpPythonClient::PythonPythonDistributionResponse](docs/PythonPythonDistributionResponse.md)
 - [PulpPythonClient::PythonPythonPackageContent](docs/PythonPythonPackageContent.md)
 - [PulpPythonClient::PythonPythonPackageContentResponse](docs/PythonPythonPackageContentResponse.md)
 - [PulpPythonClient::PythonPythonPublication](docs/PythonPythonPublication.md)
 - [PulpPythonClient::PythonPythonPublicationResponse](docs/PythonPythonPublicationResponse.md)
 - [PulpPythonClient::PythonPythonRemote](docs/PythonPythonRemote.md)
 - [PulpPythonClient::PythonPythonRemoteResponse](docs/PythonPythonRemoteResponse.md)
 - [PulpPythonClient::PythonPythonRepository](docs/PythonPythonRepository.md)
 - [PulpPythonClient::PythonPythonRepositoryResponse](docs/PythonPythonRepositoryResponse.md)
 - [PulpPythonClient::RepositoryAddRemoveContent](docs/RepositoryAddRemoveContent.md)
 - [PulpPythonClient::RepositorySyncURL](docs/RepositorySyncURL.md)
 - [PulpPythonClient::RepositoryVersion](docs/RepositoryVersion.md)
 - [PulpPythonClient::RepositoryVersionResponse](docs/RepositoryVersionResponse.md)


## Documentation for Authorization


### basicAuth

- **Type**: HTTP basic authentication