Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: tests

on: [push, pull_request]

jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: pip install -e ".[test]"
- name: Run tests
run: pytest tests/ --cov=syncsketch --cov-report=term-missing

test-legacy:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
python-version: ["3.7"]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: pip install -e ".[test]"
- name: Run tests
run: pytest tests/ --cov=syncsketch --cov-report=term-missing

test-py27:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "2.7"
continue-on-error: true
- name: Install Python 2.7 via apt
run: |
sudo apt-get update
sudo apt-get install -y python2
curl -sSL https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py
python2 get-pip.py
- name: Install requests
run: python2 -m pip install "requests>=2.20.0,<2.28.0"
- name: Run smoke tests
run: python2 tests/test_py27_smoke.py
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,7 @@
.idea/workspace.xml
local_test.py
__pycache__/
*.pyc
*.pyc
.tox/
htmlcov/
.coverage
39 changes: 33 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,17 @@ SyncSketch is a synchronized visual review tool for the Film/TV/Games industry.

#### Compatibility
This library was tested with and confirmed on python versions:
- 2.7.14+
- 3.6
- 3.7
- 2.7.14+ (see note below)
- 3.7 (see note below)
- 3.8
- 3.9
- 3.10
- 3.11
- 3.12
- 3.13
- 3.14

> **Python 2.7 & 3.7 Deprecation Notice:** Python 2.7 and 3.7 have reached end-of-life and are no longer actively supported by the Python community. While existing functionality in this library will continue to work on these versions, new features and improvements will only be tested against Python 3.8 and above. We recommend upgrading to a supported Python version.

#### Installation

Expand Down Expand Up @@ -158,9 +161,7 @@ You can upload a file to the created review with the review id, we provided one
item_data = s.upload_file(review['id'], 'examples/test.webm')
```

If all steps were successful, you should see the following in the web-app.

![alt text](https://github.com/syncsketch/python-api/blob/documentation/examples/resources/exampleResult.jpg?raw=true)
If all steps were successful, you should see the new item under the review in the web-app.

### Additional Examples

Expand Down Expand Up @@ -226,3 +227,29 @@ projects = s.get_projects()
for project in projects['objects']:
print(project)
```

### Publishing a New Release

1. Update the version in both `setup.py` and `syncsketch/__init__.py` (keep them in sync).

2. Build the distribution:
```bash
python -m build
```

3. Verify the build artifacts in `dist/`:
```bash
ls dist/syncsketch-<version>*
```

4. Upload to PyPI:
```bash
python -m twine upload dist/syncsketch-<version>*
```

To test with TestPyPI first:
```bash
python -m twine upload --repository testpypi dist/syncsketch-<version>*
```

Requires the `build` and `twine` packages (`pip install build twine`).
4 changes: 2 additions & 2 deletions _build/.buildinfo
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 92f8d6ac56ccab42ac73d860c02e5024
# This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
config: ad357e14ce56b1b9f762fda6051cd040
tags: 645f666f9bcd5a90fca523b33c5a78b7
Binary file modified _build/.doctrees/environment.pickle
Binary file not shown.
Binary file modified _build/.doctrees/index.doctree
Binary file not shown.
115 changes: 35 additions & 80 deletions _build/_static/alabaster.css
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
@import url("basic.css");

/* -- page layout ----------------------------------------------------------- */

body {
Expand Down Expand Up @@ -160,8 +158,8 @@ div.sphinxsidebar input {
font-size: 1em;
}

div.sphinxsidebar #searchbox input[type="text"] {
width: 160px;
div.sphinxsidebar #searchbox {
margin: 1em 0;
}

div.sphinxsidebar .search > div {
Expand Down Expand Up @@ -263,10 +261,6 @@ div.admonition p.last {
margin-bottom: 0;
}

div.highlight {
background-color: #fff;
}

dt:target, .highlight {
background: #FAF3E8;
}
Expand Down Expand Up @@ -454,7 +448,7 @@ ul, ol {
}

pre {
background: #EEE;
background: unset;
padding: 7px 30px;
margin: 15px 0px;
line-height: 1.3em;
Expand Down Expand Up @@ -485,15 +479,15 @@ a.reference {
border-bottom: 1px dotted #004B6B;
}

a.reference:hover {
border-bottom: 1px solid #6D4100;
}

/* Don't put an underline on images */
a.image-reference, a.image-reference:hover {
border-bottom: none;
}

a.reference:hover {
border-bottom: 1px solid #6D4100;
}

a.footnote-reference {
text-decoration: none;
font-size: 0.7em;
Expand All @@ -509,68 +503,7 @@ a:hover tt, a:hover code {
background: #EEE;
}


@media screen and (max-width: 870px) {

div.sphinxsidebar {
display: none;
}

div.document {
width: 100%;

}

div.documentwrapper {
margin-left: 0;
margin-top: 0;
margin-right: 0;
margin-bottom: 0;
}

div.bodywrapper {
margin-top: 0;
margin-right: 0;
margin-bottom: 0;
margin-left: 0;
}

ul {
margin-left: 0;
}

li > ul {
/* Matches the 30px from the "ul, ol" selector above */
margin-left: 30px;
}

.document {
width: auto;
}

.footer {
width: auto;
}

.bodywrapper {
margin: 0;
}

.footer {
width: auto;
}

.github {
display: none;
}



}



@media screen and (max-width: 875px) {
@media screen and (max-width: 940px) {

body {
margin: 0;
Expand All @@ -580,12 +513,16 @@ a:hover tt, a:hover code {
div.documentwrapper {
float: none;
background: #fff;
margin-left: 0;
margin-top: 0;
margin-right: 0;
margin-bottom: 0;
}

div.sphinxsidebar {
display: block;
float: none;
width: 102.5%;
width: unset;
margin: 50px -30px -20px -30px;
padding: 10px 20px;
background: #333;
Expand Down Expand Up @@ -620,8 +557,14 @@ a:hover tt, a:hover code {

div.body {
min-height: 0;
min-width: auto; /* fixes width on small screens, breaks .hll */
padding: 0;
}

.hll {
/* "fixes" the breakage */
width: max-content;
}

.rtd_doc_footer {
display: none;
Expand All @@ -635,13 +578,18 @@ a:hover tt, a:hover code {
width: auto;
}

.footer {
width: auto;
}

.github {
display: none;
}

ul {
margin-left: 0;
}

li > ul {
/* Matches the 30px from the "ul, ol" selector above */
margin-left: 30px;
}
}


Expand Down Expand Up @@ -705,4 +653,11 @@ nav#breadcrumbs li+li:before {
div.related {
display: none;
}
}

img.github {
position: absolute;
top: 0;
border: 0;
right: 0;
}
Loading
Loading