All Projects → jasonrollins → Shareplum

jasonrollins / Shareplum

Licence: mit
Pythonic SharePoint

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Shareplum

Python O365
A simple python library to interact with Microsoft Graph and Office 365 API
Stars: ✭ 742 (+600%)
Mutual labels:  sharepoint
Foundationsync
Synchronize User Profiles with Active Directory in SharePoint Foundation
Stars: ✭ 21 (-80.19%)
Mutual labels:  sharepoint
Sparty
Sparty - MS Sharepoint and Frontpage Auditing Tool [Unofficial]
Stars: ✭ 75 (-29.25%)
Mutual labels:  sharepoint
Sppull
📎 Download files from SharePoint document libraries using Node.js without hassles
Stars: ✭ 22 (-79.25%)
Mutual labels:  sharepoint
React Application Injectcss
An SPFx extension that injects CSS on every page
Stars: ✭ 20 (-81.13%)
Mutual labels:  sharepoint
Spgo
SPGo: A Lightweight, Open Source, SharePoint IDE for Visual Studio Code
Stars: ✭ 52 (-50.94%)
Mutual labels:  sharepoint
Pnpjs
Fluent JavaScript API for SharePoint and Microsoft Graph REST APIs
Stars: ✭ 484 (+356.6%)
Mutual labels:  sharepoint
Onemanager Php
An index & manager of Onedrive based on serverless. Can be deployed to Heroku/Glitch/SCF/FG/FC/CFC/PHP web hosting/VPS.
Stars: ✭ 1,313 (+1138.68%)
Mutual labels:  sharepoint
Pnp Powershell
SharePoint PnP PowerShell CmdLets
Stars: ✭ 911 (+759.43%)
Mutual labels:  sharepoint
Sp Rest Explorer
Source code for SharePoint REST API Metadata Explorer
Stars: ✭ 67 (-36.79%)
Mutual labels:  sharepoint
Baristacore
BaristaCore is a framework for providing a serverless platform using ChakraCore and .Net Core
Stars: ✭ 24 (-77.36%)
Mutual labels:  sharepoint
Customization Guide
Customize SharePoint with technologies that you can safely rely on for the foreseeable future
Stars: ✭ 13 (-87.74%)
Mutual labels:  sharepoint
Poshmon
A PowerShell-based server and farm monitoring solution
Stars: ✭ 54 (-49.06%)
Mutual labels:  sharepoint
Spreplicator
♻ Replicates SharePoint Lists
Stars: ✭ 22 (-79.25%)
Mutual labels:  sharepoint
Cve 2019 0604
cve-2019-0604 SharePoint RCE exploit
Stars: ✭ 91 (-14.15%)
Mutual labels:  sharepoint
Microsoft Graph Toolkit
Authentication Providers and UI components for Microsoft Graph 🦒
Stars: ✭ 518 (+388.68%)
Mutual labels:  sharepoint
Ldapcp
This claims provider connects SharePoint 2019 / 2016 / 2013 with Active Directory and LDAP servers to enhance people picker with a great search experience in federated authentication (typically ADFS)
Stars: ✭ 48 (-54.72%)
Mutual labels:  sharepoint
Sp Client Custom Fields
Web Site: https://oliviercc.github.io/sp-client-custom-fields
Stars: ✭ 96 (-9.43%)
Mutual labels:  sharepoint
Awesome Sharepoint
A collection of awesome libraries, tools, frameworks and software for SharePoint
Stars: ✭ 91 (-14.15%)
Mutual labels:  sharepoint
Cyberduck
Cyberduck is a libre FTP, SFTP, WebDAV, Amazon S3, Backblaze B2, Microsoft Azure & OneDrive and OpenStack Swift file transfer client for Mac and Windows.
Stars: ✭ 1,080 (+918.87%)
Mutual labels:  sharepoint

PROJECT STATUS

I have not had access to a SharePoint server for a while now and I do not feel that I can support this library in any reasonable fashion. I will still accept pull requests and respond to issues as much as I can, but please be aware that I am no longer capapable of testing most of these changes.

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', rowlimit=200)

Authenticate to Office365 Sharepoint

::

from shareplum import Site
from shareplum import Office365

authcookie = Office365('https://abc.sharepoint.com', username='[email protected]', 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', rowlimit=200)

Access REST API

::

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

authcookie = Office365('https://abc.sharepoint.com', username='[email protected]', 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 <http://shareplum.readthedocs.org/en/latest/>_

Contribute

  • Issue Tracker <http://github.com/jasonrollins/shareplum/issues>_
  • Source Code <http://github.com/jasonrollins/shareplum>_

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].