Package: python-q
Version: 2.6-1.2
Severity: normal
Tags: patch  pending

Dear maintainer,

I've prepared an NMU for python-q (versioned as 2.7-0.1) and
uploaded it to DELAYED/10. Please feel free to tell me if I
should cancel it.

Regards.

diffstat for python-q-2.6 python-q-2.7

 .gitignore                      |   36 --------------------------------
 .travis.yml                     |   11 ---------
 Makefile                        |   36 --------------------------------
 PKG-INFO                        |   21 ++++++++++++++++++
 README.md                       |   45 ++++++++++++++++++++++++++++------------
 debian/changelog                |   15 +++++++++++++
 debian/compat                   |    1
 debian/control                  |   15 +++++--------
 debian/copyright                |    2 -
 debian/rules                    |    2 -
 debian/watch                    |    6 ++---
 q.egg-info/PKG-INFO             |   21 ++++++++++++++++++
 q.egg-info/SOURCES.txt          |   10 ++++++++
 q.egg-info/dependency_links.txt |    1
 q.egg-info/top_level.txt        |    1
 q.py                            |   41 ++++++++++++++++++++++++++++++------
 setup.cfg                       |    8 ++++++-
 setup.py                        |   29 +++++++++++++++++--------
 18 files changed, 173 insertions(+), 128 deletions(-)

diff -Nru python-q-2.6/debian/changelog python-q-2.7/debian/changelog
--- python-q-2.6/debian/changelog       2019-10-05 21:30:53.000000000 -0400
+++ python-q-2.7/debian/changelog       2026-01-25 19:11:58.000000000 -0500
@@ -1,3 +1,18 @@
+python-q (2.7-0.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * New upstream release.
+  * debian/watch: Update to version 5 and monitor pypi release.
+  * debian/control: Bump Standards-Version to 4.7.3.
+  * debian/control: Update Vcs-* fields.
+
+  [ Ondřej Nový ]
+  * d/control: Remove ancient X-Python-Version field
+  * d/control: Remove ancient X-Python3-Version field
+  * d/copyright: Use https protocol in Format field
+
+ -- Boyuan Yang <[email protected]>  Sun, 25 Jan 2026 19:11:58 -0500
+
 python-q (2.6-1.2) unstable; urgency=medium

   * Non-maintainer upload.
diff -Nru python-q-2.6/debian/compat python-q-2.7/debian/compat
--- python-q-2.6/debian/compat  2016-01-03 10:39:48.000000000 -0500
+++ python-q-2.7/debian/compat  1969-12-31 19:00:00.000000000 -0500
@@ -1 +0,0 @@
-9
diff -Nru python-q-2.6/debian/control python-q-2.7/debian/control
--- python-q-2.6/debian/control 2019-10-05 21:30:31.000000000 -0400
+++ python-q-2.7/debian/control 2026-01-25 19:08:23.000000000 -0500
@@ -1,18 +1,15 @@
 Source: python-q
 Maintainer: Federico Ceratto <[email protected]>
 Section: python
-Priority: optional
-Build-Depends: debhelper (>= 9~)
-Build-Depends-Indep:
- dh-python,
+Build-Depends:
+ debhelper-compat (= 13),
+ dh-sequence-python3,
  python3-all,
  python3-setuptools,
-Standards-Version: 3.9.6
-X-Python-Version: >= 2.7
-X-Python3-Version: >= 3.4
+Standards-Version: 4.7.3
 Homepage: http://github.com/zestyping/q
-Vcs-Git: git://anonscm.debian.org/collab-maint/python-q.git
-Vcs-Browser: https://anonscm.debian.org/gitweb/?p=collab-maint/python-q.git
+Vcs-Git: https://salsa.debian.org/debian/python-q.git
+Vcs-Browser: https://salsa.debian.org/debian/python-q

 Package: python3-q
 Architecture: all
diff -Nru python-q-2.6/debian/copyright python-q-2.7/debian/copyright
--- python-q-2.6/debian/copyright       2016-01-03 10:39:48.000000000 -0500
+++ python-q-2.7/debian/copyright       2026-01-25 19:06:53.000000000 -0500
@@ -1,4 +1,4 @@
-Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
 Source: https://github.com/zestyping/q
 Upstream-Name: q

diff -Nru python-q-2.6/debian/rules python-q-2.7/debian/rules
--- python-q-2.6/debian/rules   2019-10-05 21:30:52.000000000 -0400
+++ python-q-2.7/debian/rules   2026-01-25 19:08:36.000000000 -0500
@@ -3,7 +3,7 @@
 export DH_VERBOSE=1
 export PYBUILD_NAME=q
 %:
-       dh $@ --with python3 --buildsystem=pybuild
+       dh $@ --buildsystem=pybuild

 override_dh_auto_test:
 ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
diff -Nru python-q-2.6/debian/watch python-q-2.7/debian/watch
--- python-q-2.6/debian/watch   2016-01-03 10:39:48.000000000 -0500
+++ python-q-2.7/debian/watch   2026-01-25 19:09:45.000000000 -0500
@@ -1,4 +1,4 @@
-version=3
+Version: 5

-opts=filenamemangle=s/.+\/v?(\d\S*)\.tar\.gz/python-q-$1\.tar\.gz/ \
-  https://github.com/zestyping/q/tags .*/v?(\d\S*)\.tar\.gz
+Template: Pypi
+Dist: q
diff -Nru python-q-2.6/.gitignore python-q-2.7/.gitignore
--- python-q-2.6/.gitignore     2015-06-22 03:23:57.000000000 -0400
+++ python-q-2.7/.gitignore     1969-12-31 19:00:00.000000000 -0500
@@ -1,36 +0,0 @@
-*.py[cod]
-
-# C extensions
-*.so
-
-# Packages
-*.egg
-*.egg-info
-dist
-build
-eggs
-parts
-bin
-var
-sdist
-develop-eggs
-.installed.cfg
-lib
-lib64
-MANIFEST
-
-# Installer logs
-pip-log.txt
-
-# Unit test / coverage reports
-.coverage
-.tox
-nosetests.xml
-
-# Translations
-*.mo
-
-# Mr Developer
-.mr.developer.cfg
-.project
-.pydevproject
diff -Nru python-q-2.6/Makefile python-q-2.7/Makefile
--- python-q-2.6/Makefile       2015-06-22 03:23:57.000000000 -0400
+++ python-q-2.7/Makefile       1969-12-31 19:00:00.000000000 -0500
@@ -1,36 +0,0 @@
-TESTS = $(wildcard test/test_*.py)
-
-.PHONY: deps pep8 test build push clean
-
-all: pep8 test build
-
-deps:
-       # q doesn't have any *runtime* dependencies.
-       # These dependencies are only needed for development.
-       pip install pep8
-       pip install wheel
-
-pep8:
-       @echo === Running pep8 on files
-       pep8 $(wildcard *.py) $(wildcard test/*.py)
-
-test:
-       @echo
-       @ $(foreach TEST,$(TESTS), \
-               ( \
-                       echo === Running test: $(TEST); \
-                       python $(TEST) || exit 1 \
-               ))
-
-build:
-       python setup.py sdist
-       python setup.py bdist_wheel
-
-push: build
-       python setup.py sdist upload
-       python setup.py bdist_wheel upload
-
-clean:
-       rm -rf build dist q.egg-info
-       find -name *.pyc -delete
-       @- git status
diff -Nru python-q-2.6/PKG-INFO python-q-2.7/PKG-INFO
--- python-q-2.6/PKG-INFO       1969-12-31 19:00:00.000000000 -0500
+++ python-q-2.7/PKG-INFO       2022-07-23 16:03:02.961571200 -0400
@@ -0,0 +1,21 @@
+Metadata-Version: 1.1
+Name: q
+Version: 2.7
+Summary: Quick-and-dirty debugging output for tired programmers
+Home-page: http://github.com/zestyping/q
+Author: Ka-Ping Yee
+Author-email: [email protected]
+License: Apache License 2.0
+Description: UNKNOWN
+Keywords: debugging
+Platform: UNKNOWN
+Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.3
+Classifier: Programming Language :: Python :: 3.4
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: Implementation :: PyPy
+Classifier: Programming Language :: Python :: Implementation :: Jython
+Classifier: Intended Audience :: Developers
+Classifier: License :: OSI Approved :: Apache Software License
diff -Nru python-q-2.6/q.egg-info/dependency_links.txt 
python-q-2.7/q.egg-info/dependency_links.txt
--- python-q-2.6/q.egg-info/dependency_links.txt        1969-12-31 
19:00:00.000000000 -0500
+++ python-q-2.7/q.egg-info/dependency_links.txt        2022-07-23 
16:03:02.000000000 -0400
@@ -0,0 +1 @@
+
diff -Nru python-q-2.6/q.egg-info/PKG-INFO python-q-2.7/q.egg-info/PKG-INFO
--- python-q-2.6/q.egg-info/PKG-INFO    1969-12-31 19:00:00.000000000 -0500
+++ python-q-2.7/q.egg-info/PKG-INFO    2022-07-23 16:03:02.000000000 -0400
@@ -0,0 +1,21 @@
+Metadata-Version: 1.1
+Name: q
+Version: 2.7
+Summary: Quick-and-dirty debugging output for tired programmers
+Home-page: http://github.com/zestyping/q
+Author: Ka-Ping Yee
+Author-email: [email protected]
+License: Apache License 2.0
+Description: UNKNOWN
+Keywords: debugging
+Platform: UNKNOWN
+Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.3
+Classifier: Programming Language :: Python :: 3.4
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: Implementation :: PyPy
+Classifier: Programming Language :: Python :: Implementation :: Jython
+Classifier: Intended Audience :: Developers
+Classifier: License :: OSI Approved :: Apache Software License
diff -Nru python-q-2.6/q.egg-info/SOURCES.txt 
python-q-2.7/q.egg-info/SOURCES.txt
--- python-q-2.6/q.egg-info/SOURCES.txt 1969-12-31 19:00:00.000000000 -0500
+++ python-q-2.7/q.egg-info/SOURCES.txt 2022-07-23 16:03:02.000000000 -0400
@@ -0,0 +1,10 @@
+MANIFEST.in
+README.md
+q.py
+setup.cfg
+setup.py
+q.egg-info/PKG-INFO
+q.egg-info/SOURCES.txt
+q.egg-info/dependency_links.txt
+q.egg-info/top_level.txt
+test/test_basic.py
\ No newline at end of file
diff -Nru python-q-2.6/q.egg-info/top_level.txt 
python-q-2.7/q.egg-info/top_level.txt
--- python-q-2.6/q.egg-info/top_level.txt       1969-12-31 19:00:00.000000000 
-0500
+++ python-q-2.7/q.egg-info/top_level.txt       2022-07-23 16:03:02.000000000 
-0400
@@ -0,0 +1 @@
+q
diff -Nru python-q-2.6/q.py python-q-2.7/q.py
--- python-q-2.6/q.py   2015-06-22 03:23:57.000000000 -0400
+++ python-q-2.7/q.py   2022-07-23 16:01:58.000000000 -0400
@@ -79,15 +79,40 @@
     import re
     import time
     import functools
+    import tempfile

     # The debugging log will go to this file; temporary files will also have
     # this path as a prefix, followed by a random number.
-    OUTPUT_PATH = os.path.join(
-        os.environ.get('TMPDIR') or os.environ.get('TEMP') or '/tmp',
-        'q')
+    OUTPUT_PATH = os.path.join(tempfile.gettempdir(), 'q')

     NORMAL, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN = ESCAPE_SEQUENCES
     TEXT_REPR = pydoc.TextRepr()
+    q_max_length = 1_000_000
+
+    @property
+    def short(self):
+        __class__.TEXT_REPR = __class__.pydoc.TextRepr()
+
+    @property
+    def long(self):
+        __class__.TEXT_REPR = __class__.pydoc.TextRepr()
+        __class__.TEXT_REPR.maxarray = __class__.q_max_length
+        __class__.TEXT_REPR.maxdeque = __class__.q_max_length
+        __class__.TEXT_REPR.maxdict = __class__.q_max_length
+        __class__.TEXT_REPR.maxfrozenset = __class__.q_max_length
+        __class__.TEXT_REPR.maxlevel = __class__.q_max_length
+        __class__.TEXT_REPR.maxlist = __class__.q_max_length
+        __class__.TEXT_REPR.maxlong = __class__.q_max_length
+        __class__.TEXT_REPR.maxother = __class__.q_max_length
+        __class__.TEXT_REPR.maxset = __class__.q_max_length
+        __class__.TEXT_REPR.maxstring = __class__.q_max_length
+        __class__.TEXT_REPR.maxtuple = __class__.q_max_length
+
+    @long.setter
+    def long(self, value):
+        __class__.q_max_length = value
+        self.long
+

     # For portably converting strings between python2 and python3
     BASESTRING_TYPES = BASESTRING_TYPES
@@ -156,7 +181,7 @@
         """Abstract away indentation and line-wrapping."""

         def __init__(self, indent=0, width=80 - 7):
-            self.chunks = [' '*indent]
+            self.chunks = [' ' * indent]
             self.indent = indent
             self.column = indent
             self.width = width
@@ -171,7 +196,7 @@
             size = sum([len(x) for x in items if not x.startswith('\x1b')])
             if (wrap and self.column > self.indent and
                     self.column + len(sep) + size > self.width):
-                self.chunks.append(sep.rstrip() + '\n' + ' '*self.indent)
+                self.chunks.append(sep.rstrip() + '\n' + ' ' * self.indent)
                 self.column = self.indent
             else:
                 self.chunks.append(sep)
@@ -199,7 +224,7 @@
         result = self.TEXT_REPR.repr(value)
         if isinstance(value, self.BASESTRING_TYPES) and len(value) > 80:
             # If the string is big, save it to a file for later examination.
-            if isinstance(value,  self.TEXT_TYPES):
+            if isinstance(value, self.TEXT_TYPES):
                 value = value.encode('utf-8')
             path = self.OUTPUT_PATH + '%08d.txt' % self.random.randrange(1e8)
             self.FileWriter(path).write('w', value)
@@ -370,4 +395,6 @@


 # Install the Q() object in sys.modules so that "import q" gives a callable q.
-sys.modules['q'] = Q()
+q = Q()
+q.long
+sys.modules['q'] = q
diff -Nru python-q-2.6/README.md python-q-2.7/README.md
--- python-q-2.6/README.md      2015-06-22 03:23:57.000000000 -0400
+++ python-q-2.7/README.md      2022-07-23 16:01:58.000000000 -0400
@@ -1,42 +1,61 @@
-q
-=
+# q

-[![Build 
Status](https://travis-ci.org/zestyping/q.svg)](https://travis-ci.org/zestyping/q)
+[![Code 
Shelter](https://www.codeshelter.co/static/badges/badge-flat.svg)](https://www.codeshelter.co/)

 Quick and dirty debugging output for tired programmers.

-Install q with "easy\_install -U q" or "pip install -U q".
+For a short demo, watch the [Lightning 
Talk](http://pyvideo.org/video/1858/sunday-evening-lightning-talks#t=25m15s) 
from PyCon 2013.

-All output goes to /tmp/q, which you can watch with this shell command::
+Install q with `pip install -U q`.

-    tail -f /tmp/q
+All output goes to `/tmp/q` (or on Windows, to `$HOME/tmp/q`).  You can
+watch the output with this shell command while your program is running:

-If TMPDIR is set, the output goes to $TMPDIR/q.
+    tail -f /tmp/q

-To print the value of foo, insert this into your program::
+To print the value of foo, insert this into your program:

     import q; q(foo)

-To print the value of something in the middle of an expression, insert
-"q()", "q/", or "q|".  For example, given this statement::
+To print the value of something in the middle of an expression, you can
+wrap it with `q()`.  You can also insert `q/` or `q|` into the expression;
+`q/` binds tightly whereas `q|` binds loosely.  For example, given this
+statement:

     file.write(prefix + (sep or '').join(items))

-...you can print out various values without using any temporary variables::
+you can print out various values without using any temporary variables:

     file.write(prefix + q(sep or '').join(items))  # prints (sep or '')
     file.write(q/prefix + (sep or '').join(items))  # prints prefix
     file.write(q|prefix + (sep or '').join(items))  # prints the arg to write

-To trace a function's arguments and return value, insert this above the def::
+To trace a function (showing its arguments, return value, and running time),
+insert this above the def:

     import q
     @q

-To start an interactive console at any point in your code, call q.d()::
+To start an interactive console at any point in your code, call q.d():

     import q; q.d()

+By default the output of q is not truncated, but it can be truncated by 
calling:
+
+    q.short
+
+Truncation can be reversed by:
+
+```python
+q.long # Truncates output to 1,000,000
+q.long = 2000000 # Truncates output to 2,000,000
+```
+# Other projects inspired by this one
+
+* [`q` for golang](https://github.com/y0ssar1an/q)
+* [`qq` for elixir](https://github.com/mandarvaze/q)
+* [`ic` for Python](https://github.com/gruns/icecream) - Similar library for 
Python, inspired by `q`.
+
 The following
 [Lightning 
Talk](http://pyvideo.org/video/1858/sunday-evening-lightning-talks#t=25m15s)
 shows how powerful using q can be.
diff -Nru python-q-2.6/setup.cfg python-q-2.7/setup.cfg
--- python-q-2.6/setup.cfg      2015-06-22 03:23:57.000000000 -0400
+++ python-q-2.7/setup.cfg      2022-07-23 16:03:02.961571200 -0400
@@ -1,4 +1,10 @@
 [metadata]
 description-file = README.md
+
 [bdist_wheel]
-universal=1
+universal = 1
+
+[egg_info]
+tag_build =
+tag_date = 0
+
diff -Nru python-q-2.6/setup.py python-q-2.7/setup.py
--- python-q-2.6/setup.py       2015-06-22 03:23:57.000000000 -0400
+++ python-q-2.7/setup.py       2022-07-23 16:02:10.000000000 -0400
@@ -1,10 +1,21 @@
 from setuptools import setup
-setup(name='q', version='2.6', py_modules=['q'],
-      description='Quick-and-dirty debugging output for tired programmers',
-      author='Ka-Ping Yee', author_email='[email protected]',
-      license='Apache License 2.0',
-      url='http://github.com/zestyping/q', classifiers=[
-          'Programming Language :: Python',
-          'Intended Audience :: Developers',
-          'License :: OSI Approved :: Apache Software License'
-      ])
+setup(
+    name='q', version='2.7', py_modules=['q'],
+    description='Quick-and-dirty debugging output for tired programmers',
+    author='Ka-Ping Yee', author_email='[email protected]',
+    license='Apache License 2.0',
+    classifiers=[
+        "Programming Language :: Python",
+        "Programming Language :: Python :: 2.7",
+        "Programming Language :: Python :: 3",
+        "Programming Language :: Python :: 3.3",
+        "Programming Language :: Python :: 3.4",
+        "Programming Language :: Python :: 3.5",
+        "Programming Language :: Python :: Implementation :: PyPy",
+        "Programming Language :: Python :: Implementation :: Jython",
+        "Intended Audience :: Developers",
+        "License :: OSI Approved :: Apache Software License",
+    ],
+    keywords=['debugging'],
+    url='http://github.com/zestyping/q'
+)
diff -Nru python-q-2.6/.travis.yml python-q-2.7/.travis.yml
--- python-q-2.6/.travis.yml    2015-06-22 03:23:57.000000000 -0400
+++ python-q-2.7/.travis.yml    1969-12-31 19:00:00.000000000 -0500
@@ -1,11 +0,0 @@
-language: python
-python:
-  - "2.6"
-  - "2.7"
-  - "3.2"
-  - "3.3"
-  - "3.4"
-  - "nightly"
-  - "pypy"
-install: make deps
-script: make

Reply via email to