Skip to main content

Python SharePoint FreightPlus Library

Project description

PROJECT STATUS

If you do not work for FreightPlus.io, please do not bother me, just fork this and fix the issue yourself.

Thank you.

SharePlum

SharePlum is an easier way to work with SharePoint services. It handles all of the messy parts of dealing with SharePoint and allows you to write clean and Pythonic code.

Usage

from shareplum import Site
from requests_ntlm import HttpNtlmAuth

auth = HttpNtlmAuth('DIR\\username', 'password')
site = Site('https://abc.com/sites/MySharePointSite/', auth=auth)
sp_list = site.List('list name')
data = sp_list.GetListItems('All Items', row_limit=200)

Authenticate to Office365 Sharepoint

from shareplum import Site
from shareplum import Office365

authcookie = Office365('https://abc.sharepoint.com', username='username@abc.com', password='password').GetCookies()
site = Site('https://abc.sharepoint.com/sites/MySharePointSite/', authcookie=authcookie)
sp_list = site.List('list name')
data = sp_list.GetListItems('All Items', row_limit=200)

Access REST API

from shareplum import Site
from shareplum import Office365
from shareplum.site import Version

authcookie = Office365('https://abc.sharepoint.com', username='username@abc.com', password='password').GetCookies()
site = Site('https://abc.sharepoint.com/sites/MySharePointSite/', version=Version.v2016, authcookie=authcookie)
folder = site.Folder('Shared Documents/This Folder')
folder.upload_file('Hello', 'new.txt')
folder.get_file('new.txt')
folder.check_out('new.txt')
folder.check_in('new.txt', "My check-in comment")
folder.delete_file('new.txt')

Features

  • Reading and writing data to SharePoint lists using Python Dictionaries.

  • Automatic conversion between SharePoint internal names and displayed names.

  • Using Queries to filter data when retrieving List Items.

  • Automatic conversion of data types.

  • Supports Users datatype.

  • Supports Office365 Sharepoint sites.

  • Supports Folder and File operations with the REST API. (Requires SharePoint 2013 or newer)

Documentation

Read the Docs

Contribute

Unit Tests

This package uses python unittest. To run the unit tests, first copy tests/test_settings.py as tests/local_test_seetings.py and edit the contents to point at your sharepoint. Second export your sharepoint password as an environment variable ‘TEST_PASSWORD’ Then from the root folder run:

python -m unittest disover  # all tests
python -m unittest tests.test_site  # all site tests

License

This project is licensed under the MIT license.

Project details


Download files

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

Source Distribution

shareplumfreightplusio-0.5.3.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shareplumfreightplusio-0.5.3-py2.py3-none-any.whl (19.1 kB view details)

Uploaded Python 2Python 3

File details

Details for the file shareplumfreightplusio-0.5.3.tar.gz.

File metadata

  • Download URL: shareplumfreightplusio-0.5.3.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.18

File hashes

Hashes for shareplumfreightplusio-0.5.3.tar.gz
Algorithm Hash digest
SHA256 77704419e622641833f264bf26b0822d714d924cd1f61226b8eea9ab70655866
MD5 a27ce8c5496fecd9e1de250374cfa95f
BLAKE2b-256 4dee0ad1fc8cd2f0d418db0ae941205d0c47986df694cb18fa73b72547336f89

See more details on using hashes here.

File details

Details for the file shareplumfreightplusio-0.5.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for shareplumfreightplusio-0.5.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 222b5cc6ec89e07d5a64b05b14090726723ed99e3a4f25a89f5604da7b666e07
MD5 b38644bfea79eb43b3cde16259bc9218
BLAKE2b-256 c5a2a4f8167aecf9e45900e19a771eb48a7ef615da1129bfe9defaa4ee2b70d7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page