Commit Graph

45 Commits

Author SHA1 Message Date
Mitja O 2f0a56c380
fix: support Python 3.12 (#539)
* chore: pin explicit Python 3.12

* chore: add a `test-python` for stable Python

* chore: empty commit

* chore: add some FIXMEs

* chore: add `packaging`

* chore(wip): replace `LegacyVersion` with `packaging`'s `parse`

* chore(wip): bypass `strtobool` usage

* chore(wip): `pkg_resources` are deprecated

* chore(wip): naive way to support Python <3.12

* chore(wip): swap import order

* chore(wip): try fixing version check

* chore: add a fixme

* chore(wip): reverse legacy pip check

* chore(wip): legacy pip  check for 9 or lower

* fix: fix the legacy pip check

* chore: small cleanup

* chore(wip): try the `importlib_resources`

* chore: add small comment

* chore(wip): avoid `setup.py` in fixtures

* chore(wip): version-compatible wheel build

* chore: install `build` for `3.8` too

* fix: mypy issues

* chore: fix comments

* fix: more formatting fixes

* fix: mdformat

* fix: pass wrong auth to `failed_auth` test

* chore: cleanup packages before and after test runs

* chore(wip): try to bypass test error

* chore: add a tech debt comment

* chore: undo too many changes

* chore(wip): small debug experiment

* chore(wip): skip some tests

* chore(wip): use nonsense code

* fix(chore): small fix to the nonsense code

* chore(wip): try `--force-reinstall`

* chore: finalize the docker tests
2024-04-01 21:30:02 +02:00
Mitja O 904f50fa79
fix: specify long_description as MD type (#532)
* fix: specify long_description MD type

* chore: black formatting
2023-10-01 15:19:32 +02:00
Glenn 9edae77659
Feature/markdown conversion (#503)
* feat: markdown conversion

logo and badges

* feat: markdown conversion

fix logo path

* feat: markdown

table changes

* feat: markdown

table alignment

* feat: markdown

check toc

* feat: markdown

toc additions

* feat: markdown

quickstart section

* feat: dependabot

more details section in quick start

* feat: dependabot

correct bold

* feat: markdown

client side config, pip

* feat: markdown

typo in title

* feat: markdown

typo in configuring pip

* feat: markdown

apache like authentication section
an initial cut to view the markdown
in github

* feat: markdown

typo in markdown link

* feat: markdown

remove trailing colon

* feat: markdown

typo in shell markdown

* feat: markdown

standardize on 4 space indent in shell code block

* feat: markdown

complete markdown for section up to alternate installation methods

* feat: markdown

add more of the contents to test with

* feat: markdown

contents

* feat: markdown

contents

* feat: markdown

contents

* feat: markdown
dquote>
dquote> recipes

* feat: markdown
dquote>
dquote> recipes

* feat: markdown
dquote>
dquote> up to licensing

* feat: markdown
dquote>
dquote> contents

* Update README.md

Missing exclamation mark

* Update README.md

missing link

* Update README.md

remove duplicated text

* Update README.md

bold differences it Table of contents

* Update README.md

additional bold changes in table of contents

* Update README.md

broken link

* Update README.md

typo in link fix

* Update README.md

change code block to text as shell highlighting was showing some items in red

* Update README.md

code block shell to text

* Update README.md

correct pypi-server update section

* feat: markdown
dquote>
dquote> link back to TOC title

* Update README.md

change link to TOC title

* Update README.md

link test

* Update README.md

link update

* Update README.md

link update

* Update README.md

link update

* feat: markdown

links

* Update README.md

change the level of indent for uploading packages remotely

* Update README.md

add link to python-pam

* feat: markdown

apache link to TOC not working.

* Update README.md

grammar

* Update README.md

typo bold

* feat: markdown

undo bolded text in TOC and titles as linking does
not work

* feat: markdown

remove bold from TOC

* feat: feature

more link issues

* feat: markdown

fixing broken links

* feat: markdown

change text slightly as markdown only links to plain text

* feat: markdown

typo

* feat: markdown

more link typos

* Update README.md

typo in link

* Update README.md

link will not work with braces in the titles

* feat: markdown

run mdformat and apply changes, :) lint!

* feat:  markdown

- check via mdformat
- remove old check script
- update test-requirements.txt

* feat: markdown

correct the errors in the mdformat run command

* feat: markdown

for testing remove all the actual jobs

* feat: markdown

re-run mdformat

* feat: markdown

put the jobs back in after testing the mdformat
cmd for passing and failing via workflow dispatch

* feat: markdown

remove references to README.md

* feat: markdown

change action to workflow dispatch for testing

* feat: markdown

- update docker igore
- alter unit test to look for version number after md changes

* feat: markdown

black linting

* feat: markdown

update comments

* feat: markdown

update bumpver to look at md rather than rst file

* feat: markdown

replace workflow dispatch with pull request
to get ready for the final PR

* feat: markdown-delete-original

delete the original rst file

* feat: markdown-delete-original

change ci to workflow dispatch for testing

* feat: markdown-delete-original

revert workflow dispatch

* feat: markdown-badge-links

set the links back to the original
URLs.

* feat: markdown-badge-links

fix brackets

* feat: markdown

update the version and date

* feat: markdown conversion

markdown changes to conform to mdformat tooling.
2023-08-15 11:16:30 +02:00
Timothée Mazzucotelli 3f520cdc18
fix: Add missing pip dependency (#500) 2023-06-26 10:07:10 +02:00
Christian Clauss 530852b279
Support current versions of CPython (#453) 2022-10-21 11:23:49 +02:00
Matthew Planchard c668b1814a
Use argparse config throughout app (#349)
This PR is a pretty substantial refactor of the entrypoints of pypiserver (`__main__` and `__init__`) to use the argparse-based config added in #339.

- Updated `RunConfig` and `UpdateConfig` classes to have exclusive init kwargs, instead of taking an namespace. This turned out to be much easier when working with the library-style app initialization in `__init__`, both for direct instantiation and via paste config
- Added an `iter_packages()` method to the `RunConfig` to iterate over packages specified by the configuration (note @elfjes, I think that replacing this with e.g. a `backend` reference will be a nice way to tie in #348)
- Added a general-purpose method to map legacy keyword arguments to the `app()` and `paste_app_factory()` functions to updated forms
- Refactored the `paste_app_factory()` to not mutate the incoming dictionary
- Removed all argument-parsing and config-related code from `__main__` and `core`
- Moved `_logwrite` from `__init__` to `__main__`, since that was the only place it was being used after the updates to `core`
- Updated `digest_file` to use `hashlib.new(algo)` instead of `getattr(hashlib, algo)`, because the former supports more algorithms
- Updated `setup.py` to, instead of calling `eval()` on the entirety of `__init__`, to instead just evaluate the line that defines the version
- Assigned the config to a `._pypiserver_config` attribute on the `Bottle` instance to reduce hacky test workarounds
- Fixed the tox config, which I broke in #339 

* Config: add auth & absolute path resolution

* Config: check pkg dirs on config creation

* Instantiate config with kwargs, not namespace

* WIP: still pulling the threads

* Init seems to be working

* tests passing locally, still need to update cache

* Fix tox command

* unused import

* Fix typing

* Be more selective in exec() in setup.py

* Require accurate casing for hash algos

* Remove old comment

* Comments, minor updates and simplifications

* move _logwrite to a more reasonable place

* Update config to work with cache

* Type cachemanager listdir in core

* Update config module docstring, rename method

* Add more comments re: paste config

* Add comments to main, remove unneded check

* Remove commented code

* Use {posargs} instead of [] for clarity in tox

* Add dupe check for kwarg updater

* Remove unused references on app instance

* Fix typo

* Remove redundancy in log level parsing
2020-10-25 18:48:28 -05:00
PelleK d886bc2eba
Cleanup code to python 3.6 (#342)
* Cleanup setup.py

* remove explicit inheritance from object

* convert most string interpolations to f-strings

Co-authored-by: Pelle Koster <pelle.koster@nginfra.nl>
2020-10-07 20:45:51 -05:00
Matthew Planchard b1bf1ed248
Drop support for Python 3.4 (#321)
* Drop support for Python 3.4

Python 3.4 is no longer supported. Even pyenv is failing to install it
for me, because apparently the currnet version of `ensurepip` bombs for
3.4. Pypiserver may still work on 3.4, but testing on it has becomes
more of a hassle than it's worth.

* Fix @mplanchard's email address

Just realized my email address in the authors' file has been wrong for
pretty much forever.

* Remove GL CI

GitLab CI is nice, but doesn't support forks, and so isn't going to be
viable for this project.
2020-07-09 22:39:01 -05:00
Matthew Planchard 98958cf2f8
ENH: Officially support python 3.8 (#292) 2020-01-11 23:53:13 -06:00
Matthew Planchard d4c6a2b693
chore: update classifiers for py3.7 2019-09-17 20:51:48 -05:00
Hugo a8b7efc776 Drop support for EOL Python 3.3 2018-05-07 22:29:36 +03:00
Matthew Planchard 2cc5016015 Updated setup.py classifiers
* Added Python 3.6 to languages
* Added PyPy implementation
* Also updated some minor spacing issues
2017-11-29 19:39:06 -06:00
Kostis Anagnostopoulos 62f60ccef7 docs: Add mplanchard into maintainers.
- ci: check standalone before anything else.
2016-06-28 13:18:03 +02:00
Matthew Planchard 3278e5c0e4 Added passlib version specification (#120) 2016-03-11 11:46:29 -06:00
Matthew Planchard 4a299ec40b Added python3.5 support to setup.py and tests for #108
- Added wheel to dev requirements
2016-01-20 23:30:22 +01:00
Kostis Anagnostopoulos 0c4c27fa5c v1.2.0.dev1 (<--1.1.10): Stop supporting py<2.7 & py<3.3 (#107). 2016-01-20 20:05:47 +01:00
Dustin Spicuzza e8f1f149a5 Add an optional in-memory cache to hold package list
- Precomputes various attributes
- File digest is cached on access
- Cache requires watchdog to be installed
2016-01-04 17:40:39 -05:00
Kostis Anagnostopoulos 47ea0700cf build: Include `webtest` into tet deps.
Not really needed, more as an info to the programmer.
2015-12-19 21:10:55 +01:00
Kostis Anagnostopoulos at kilo 1a9b782d96 Readme:FIX license shield.
+ Update py2.5 supported env
2015-09-21 18:28:33 +02:00
ankostis on tokoti 3676771719 FIX test_server FC!
+ Generate dummy-dists within tests to support running on every 
  platform/py-version.
  + delete pr-generated dummy-wheels.
+ Add forgotten test-packages `twinw`, `passlib`!
+ Update bugfix signing `twine` 1.6.1-->1.6.1.
2015-09-20 11:11:57 +02:00
ankostis on tokoti 4bb758da30 PIP test-server.
+ Rework test_server fictures with ports, pswds, and package-dirs.
+ Increase dep: pip>=7
2015-09-19 02:04:32 +02:00
Kostis Anagnostopoulos 699a73bf04 Provide `mock` library for py-3.2. 2015-09-18 18:57:58 +02:00
Kostis Anagnostopoulos c07dbd6b11 FIX Requirements.
+ Have `tox` read from requirements-file.
+ Add forgotten 'passlib' dep in `setup.py'!
2015-09-18 18:24:33 +02:00
Kostis Anagnostopoulos e32ca3425b Add `test_server` TCs with twine<-->real process.
+ TC for #82 uploading `dentodeps` package with 200 deps.
2015-09-17 20:04:00 +02:00
ankostis on tokoti 133afe28f7 Rework standalone generation using ZIP.
+ Standalone executable based on wheel.
+ Properly use `pkg_resources` so reading `welcome-msg` file
  works even from within zip.
  + Mark `zip_safe=True` in setup.py.
+ Delete forgotten distutils startup script.
+ Build standalone before installing anything else,
  to check if any deps are missing.
+ Restore py25 in Travis.
2015-09-17 01:13:37 +02:00
ankostis on tokoti 7bfa0f252e build: Replace `make-manifest` script with `setuptools-git` plugin.
+ setup: Stop failling back to `distutils`.
+ Remove Ralf Schmitt from maintainers.
2015-09-16 22:12:00 +02:00
Kostis Anagnostopoulos at STUW025 2c1ceb04b5 Restructure `main` to allow for gevent monkeypatch (FIX #49).
+ Update zip and setuptools startup-cripts.
2015-09-15 22:22:09 +02:00
Kostis Anagnostopoulos at STUW025 1fd5653317 FIX #55: Allow unauthenticated uploads with `-P .` option.
+ Add `mock` lib into test-dependencies for py2.
+ travis: Use new containers.
2015-09-11 16:08:13 +02:00
Kostis Anagnostopoulos, Yoga-2 f9e351cdb6 Bump version 1.1.7-->1.1.8-beta.0
- Make standalone-gen script to run also on python-3.
- Add README badges.
2015-03-09 00:45:05 +01:00
ankostis on tokoti d50cdb6c3b docs: Update github-links, suitable python-versions, changes and
rel-date.

- Update maintainers.
- Update python-classifiers.
- Various README edits.
- #38: Update suggestion on welcome-file.
- Add ankostis to authors (so Ralf may avoid half harassment for
this release).
2015-02-28 01:21:48 +01:00
Kostis Anagnostopoulos, Yoga-2 24114e6761 Tox-test PY34 on also on TravisCI and classifiers. 2015-02-17 01:46:01 +01:00
ankostis@kilo c64b8c32d2 Allow to override welcome-msg(`/`) from a separate html file.
- Read welcome-msg in UTF-8.
- Add cmd-line option for `welcome-file`.
- Add TCs for welcome-file option and `/` http-req.
- Update docs for new option.
- Failback to in-code welcome-msg if unreadable (ie standalone mode, bad file).
2015-01-15 16:20:24 +01:00
Ralf Schmitt e484d36fae add trove classifier for python 3.3 2012-12-27 21:54:51 +01:00
Ralf Schmitt 5cb109515c install pypi-server either via entry_points= or scripts= 2012-08-22 21:47:57 +02:00
Eduard-Cristian Stefan c5b8e85c79 Add 'console_scripts' section to 'entry_points', so 'pypi-server.exe' will be created on Windows. 2012-08-22 21:33:19 +03:00
Ralf Schmitt 3257940b11 define paste.app_factory entry point in setup.py 2012-04-07 23:53:48 +02:00
Ralf Schmitt 4d20268891 fix typo 2011-12-05 22:36:29 +01:00
Ralf Schmitt 9aa6f69ff5 cleanup whitespace 2011-12-05 22:20:50 +01:00
Ralf Schmitt 4939534404 do not run 2to3 anymore when installing 2011-11-24 01:54:22 +01:00
Ralf Schmitt 236501f9b7 add python 3 trove classifiers 2011-11-19 21:25:59 +01:00
Ralf Schmitt 1866a7ad6e make pypiserver run on python 3.x
unfortunately the tests do not work, since twill isn't ported yet.
2011-11-08 00:11:01 +01:00
Ralf Schmitt f3c213f5fc add trove classifiers 2011-08-01 02:57:43 +02:00
Ralf Schmitt e760b77a9b add README.rst. 2011-07-29 03:14:09 +02:00
Ralf Schmitt a56fa3293b whitespace cleanup. 2011-07-29 02:41:27 +02:00
Ralf Schmitt 85983fd36f import initial version 2011-07-29 02:02:28 +02:00