An open API service indexing awesome lists of open source software.

https://github.com/freelancer/freelancer-sdk-python

Official Freelancer.com API SDK
https://github.com/freelancer/freelancer-sdk-python

api freelancer python sdk

Last synced: 6 months ago
JSON representation

Official Freelancer.com API SDK

Awesome Lists containing this project

README

          

Python library for Freelancer.com API
=====================================

.. image:: https://badge.fury.io/py/freelancersdk.svg
:target: https://badge.fury.io/py/freelancersdk
.. image:: https://travis-ci.org/freelancer/freelancer-sdk-python.svg?branch=master
:target: https://travis-ci.org/freelancer/freelancer-sdk-python

This is a Python library for the `Freelancer.com
API `__. Using this, you can interact
with Freelancer.com from your Python applications. It supports Python
2.7 and Python 3 (3.6+). For more about information about the
Freelancer.com API, visit https://developers.freelancer.com.

Install
~~~~~~~

Install it using ``pip install freelancersdk``. It may be a good idea to
use `virtualenv `__ as
part of your workflow.

Versioning
----------

The current version `series` of the library is ``0.1.x`` which corresponds to the
``0.1`` version of the API. The revision number ``x`` corresponds to the
revision of the SDK. The ``0.1`` series of the library will continue to
support (in a backward compatible way) the ``0.1`` version of the
Freelancer.com API.

Usage
~~~~~

The first step to using any SDK function is to create a `Session` object:

::

>>> from freelancersdk.session import Session
>>> session = Session(oauth_token=token)

You must have a valid OAuth2 token before you can use the SDK or the
API. See the `Freelancer.com Developer
portal `__ for more information on
how you can do so.

Once we have a session object, we can start using the SDK functions.

Examples
~~~~~~~~

All the examples below recognizes two environment variables:

- ``FLN_OAUTH_TOKEN``: The OAuth2 token to create the session with and
must be specified
- ``FLN_URL``: If you want to use the library to make requests against
the `Freelancer.com
Sandbox `__,
you can specifiy ``FLN_URL=https://www.freelancer-sandbox.com``. If
not specified, it defaults to ``https://www.freelancer.com``.

**Projects**

- `Create a Fixed Project `__
- `Create a Hourly Project `__
- `Create a Local Project `__
- `Create a Hireme Project `__
- `Create a Freelancer Review `__
- `Create a Employer Review `__
- `Search for Projects `__
- `Retrieve Project details `__
- `Get a list of jobs (skills) `__
- `Track a freelancer's location for a project `__
- `Update a track's location `__
- `Retrieve a track by ID `__
- `Retrieve a single project's details `__

**Bids**

- `Create a Bid `__
- `Award a Bid `__
- `Accept a bid `__
- `Revoke a Bid `__
- `Retract a Bid `__
- `Highlight a Bid `__
- `Retrieve project bids `__

**Milestone Payments**

- `Create a Milestone payment `__
- `Create a Milestone payment
request `__
- `Accept a Milestone payment
request `__
- `Reject a Milestone payment
request `__
- `Delete a Milestone payment
request `__
- `Release Milestone payment
request `__
- `Cancel Milestone payment
request `__
- `Request a Milestone payment
release `__
- `Retrieve project milestones `__
- `Retrieve a milestone by ID `__

**Messaging**

- `Create a new thread in the context of a
project `__
- `Create a new message in an existing
thread `__
- `Upload an attachment in an exising
thread `__
- `Retrieve messages `__
- `Retrieve threads `__
- `Search for messages `__

**Contests**

- `Create a contest `__

**Users**

- `Add a job to a user's list of jobs `__
- `Delete a job from a user's jobs `__
- `Set a user's list of jobs `__
- `Retrieve user details `__
- `Retrieve a single user's details `__
- `Search for freelancers `__
- `Retrieve the current user's details `__
- `Retrieve user reputations `__
- `Retrieve user portfolios `__
License
~~~~~~~

GNU LGPLv3. Please see `LICENSE `__ and
`COPYING.LESSER `__.

Please note that 0.1.3 release changed the LICENSE from BSD to GNU
LGPLv3. If you were using the library prior to this release, please file
a issue to let us know if the change affects you in any way.