Repository: googlemaps/google-maps-services-python

Issue:
Static Maps: Numeric label raises a ValueError
A numeric (string) label should be supported (ex: '1') when creating a StaticMapMarker. However, an error is raised because of the line "if len(label) != 1 or not label.isupper() or not label.isalnum()" at line 78 (file maps.py).

The test label.isupper() returns false for '1', but it's a valid label.

Discussion:

Patch:
diff --git a/googlemaps/maps.py b/googlemaps/maps.py
index eedcc42..763e012 100644
--- a/googlemaps/maps.py
+++ b/googlemaps/maps.py
@@ -75,8 +75,8 @@ class StaticMapMarker(StaticMapParam):
             self.params.append("color:%s" % color)
 
         if label:
-            if len(label) != 1 or not label.isupper() or not label.isalnum():
-                raise ValueError("Invalid label")
+            if len(label) != 1 or (label.isalpha() and not label.isupper()) or not label.isalnum():
+                raise ValueError("Marker label must be alphanumeric and uppercase.")
             self.params.append("label:%s" % label)
 
         self.params.append(convert.location_list(locations))


Test patch:
diff --git a/tests/test_maps.py b/tests/test_maps.py
index db83ee0..8db6298 100644
--- a/tests/test_maps.py
+++ b/tests/test_maps.py
@@ -49,6 +49,8 @@ class MapsTest(TestCase):
         with self.assertRaises(ValueError):
             StaticMapMarker(locations=["Sydney"], label="XS")
 
+        self.assertEqual("label:1|Sydney", str(StaticMapMarker(locations=["Sydney"], label="1")))
+
     @responses.activate
     def test_static_map_path(self):
         path = StaticMapPath(