Skip to main content

Conan script to remove all outdate packages from remote

Project description

[![Build Status: Linux and Macos](https://travis-ci.org/bincrafters/bincrafters-remove-outdated.svg?branch=master)](https://travis-ci.org/bincrafters/bincrafters-remove-outdated)
[![Build status: Windows](https://ci.appveyor.com/api/projects/status/github/bincrafters/bincrafters-remove-outdated?svg=true)](https://ci.appveyor.com/project/bincrafters/bincrafters-remove-outdated)
[![codecov](https://codecov.io/gh/bincrafters/bincrafters-remove-outdated/branch/master/graph/badge.svg)](https://codecov.io/gh/bincrafters/bincrafters-remove-outdated)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/314bf09e0f214735849519143025e6c4)](https://www.codacy.com/app/uilianries/bincrafters-remove-outdated?utm_source=github.com&utm_medium=referral&utm_content=bincrafters/bincrafters-remove-outdated&utm_campaign=Badge_Grade)
[![Pypi Download](https://img.shields.io/badge/download-pypi-blue.svg)](https://pypi.python.org/pypi/bincrafters-remove-outdated)

# Conan Remove Outdated

## A script to remove all outdated packages from remote

![logo](logo.png)

#### Requirements
* Python 2.7 or 3
* the [Conan](https://conan.io) client

#### INSTALL
To install by pip is just one step

##### Local
If you want to install by local copy

pip install .

##### Remote
Or if you want to download our pip package

pip install bincrafters_remove_outdated

#### RUN

- Make sure your remote is properly listed on Conan remote list (`conan remote list`)
- Make sure your Conan client is logged in (`conan user`) the repository you want to clean. Then:

$ bincrafters-remove-outdated <repository>

To remove **ALL** outdated packages on Bincrafters https://api.bintray.com/conan/bincrafters/public-conan

$ bincrafters-remove-outdated bincrafters

#### USAGE

```
bincrafters-remove-outdated [-h] [--yes] [--ignore] [--dry-run] [--pattern PATTERN | --package-list-file PACKAGE_LIST_FILE] [--version] remote

Conan Remove Outdated

positional arguments:
remote Conan remote to be cleaned e.g conan-center

optional arguments:
-h, --help show this help message and exit
--yes, -y Do not ask for confirmation
--ignore, -i Ignore errors receive from remote
--dry-run, -d Check which packages will be removed only
--pattern PATTERN, -p PATTERN
Pattern to filter package name to be removed. e.g
Boost/*
--package-list-file PACKAGE_LIST_FILE, -plf PACKAGE_LIST_FILE
Package list file path
--version, -v show program's version number and exit
```

##### FILTER
If you need to remove only some packages, there are some options:

###### Pattern
You could apply a pattern to filter the reference name.

For example, removing all Boost packages from bincrafters:

bincrafters-remove-outdated --pattern=Boost/* bincrafters

###### Package List
You could use a file to list all packages to be removed.

For example, remove Boost, Poco and OpenSSL using a text file:

```
boost/1.67.0@conan/stable
Poco/1.9.0@pocoproject/stable
OpenSSL/1.0.2n@conan/stable
```

bincrafters-remove-outdated --package-list-file=package_list.txt bincrafters

##### Testing and Development
To install extra packages required to test

pip install .[test]


#### TESTING
To run all unit test + code coverage, just execute:

pip install -r bincrafters_remove_outdated/requirements_test.txt
cd tests
pytest -v --cov=bincrafters_remove_outdated


#### REQUIREMENTS and DEVELOPMENT
To develop or run conan remove outdated

pip install -r bincrafters_remove_outdated/requirements.txt


#### UPLOAD
There are two ways to upload this project.

##### Travis CI
After to create a new tag, the package will be uploaded automatically to PyPi.
Both username and password (encrypted) are in travis file.
Only one job (Python 3.6) will upload, the others will be skipped.


##### Command line
To upload this package on pypi (legacy mode):

pip install twine
python setup.py sdist
twine upload dist/*


#### LICENSE
[MIT](LICENSE.md)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
bincrafters_remove_outdated-0.4.1.tar.gz (6.7 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page